diff --git a/docs/changelog.md b/docs/changelog.md index 0c68c80c..78872da0 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -9,6 +9,24 @@ To use the latest version of Devvit: **Please note**: you may see features available across Devvit packages that are not documented or noted in our changelog. These are experimental features that are not stable and are subject to change, or removal, from the platform. Please use caution when testing or implementing experimental features. +# Release 0.14.0: Node.js v24 and Devvit Skills (Experimental) +**Release Date: August 10, 2026** + +**Node.js Upgrade** + +Node.js v24.18.0 is now live across Devvit. All Devvit apps run on Node.js v24, the latest LTS release supported by Devvit, and no action is required. Although this is technically a breaking change, which we’re recognizing with the v0.14.0 minor version bump, we do not expect any negative user impact. + +For the officially supported local development experience, we encourage users to upgrade their local Node version to v24.18.0. Devvit templates have also been updated so new apps start with the latest Node version by default ([example upgrade](https://github.com/reddit/devvit-template-bare/pull/52/changes)). + +This upgrade also unlocks Node features added since Devvit’s previous runtime version, Node.js v22.5.1. You can read the full list in the [Node.js v24.18.0 changelog](https://nodejs.org/en/blog/release/v24.18.0), including newer platform APIs such as URLPattern. While Devvit still requires server code to be bundled to JavaScript, local unit tests and scripts can now take advantage of native Node.js TypeScript support without a separate compilation step ([example](https://github.com/reddit/devvit-template-bare/blob/main/src/server/server.test.ts)). + +**Devvit Skills (Experimental)** + +We’re announcing the devvit-skills repository for Devvit. Use it to give AI coding agents access to Devvit docs and other Devvit-specific guidance. This is experimental, and we plan to add more useful skills in the future. + +The first available skill, `devvit-docs`, helps agents answer Devvit questions using the official [reddit/devvit-docs](https://github.com/reddit/devvit-docs) repository as the source of truth. It detects the Devvit version in your project, searches the matching docs when available, and cites the files and sections used in its answer. + + ## Release 0.13.11: Behind-the-Scenes Improvements **Release Date: August 3, 2026*** diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-appearance.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-appearance.png deleted file mode 100644 index aaeaa5a1..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-appearance.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-disabled.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-disabled.png deleted file mode 100644 index 7fe9159f..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-disabled.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-icon-label.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-icon-label.png deleted file mode 100644 index 14efdb9c..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-icon-label.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-sizes.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-sizes.png deleted file mode 100644 index 30ec19b0..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-button-sizes.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-alienblue.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-alienblue.png deleted file mode 100644 index 312d6c79..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-alienblue.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-berrypurple.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-berrypurple.png deleted file mode 100644 index c80c7975..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-berrypurple.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-brown.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-brown.png deleted file mode 100644 index 0892f8b6..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-brown.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-coolgray.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-coolgray.png deleted file mode 100644 index d2480c24..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-coolgray.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-kiwigreen.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-kiwigreen.png deleted file mode 100644 index 806b0512..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-kiwigreen.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-lightblue.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-lightblue.png deleted file mode 100644 index b260a918..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-lightblue.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-lime.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-lime.png deleted file mode 100644 index eb3abec7..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-lime.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-mintgreen.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-mintgreen.png deleted file mode 100644 index 76fad270..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-mintgreen.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-orangered.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-orangered.png deleted file mode 100644 index 436d6b70..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-orangered.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-periwinkle.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-periwinkle.png deleted file mode 100644 index 10bddd8b..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-periwinkle.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-puregray.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-puregray.png deleted file mode 100644 index e528ba04..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-puregray.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-red.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-red.png deleted file mode 100644 index 9f4c7bde..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-red.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-sakurapink.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-sakurapink.png deleted file mode 100644 index 37b138df..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-sakurapink.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-yellow.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-yellow.png deleted file mode 100644 index d473be2a..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-yellow.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-yelloworange.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-yelloworange.png deleted file mode 100644 index bf4d5945..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-colors-yelloworange.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-alignment.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-alignment.png deleted file mode 100644 index e270da2d..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-alignment.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-border-width.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-border-width.png deleted file mode 100644 index ed4f3669..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-border-width.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-corner-radius.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-corner-radius.png deleted file mode 100644 index cc3e6a57..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-corner-radius.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-gap.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-gap.png deleted file mode 100644 index 9999f283..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-gap.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-padding.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-padding.png deleted file mode 100644 index a7dbe692..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-padding.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-reverse.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-reverse.png deleted file mode 100644 index d2210806..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-stacks-reverse.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-text-size.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-text-size.png deleted file mode 100644 index 456ef23d..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-text-size.png and /dev/null differ diff --git a/versioned_docs/version-0.12/assets/blocks/docs-blocks-text-weights.png b/versioned_docs/version-0.12/assets/blocks/docs-blocks-text-weights.png deleted file mode 100644 index fd3651d6..00000000 Binary files a/versioned_docs/version-0.12/assets/blocks/docs-blocks-text-weights.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-appearance.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-appearance.png deleted file mode 100644 index aaeaa5a1..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-appearance.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-disabled.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-disabled.png deleted file mode 100644 index 7fe9159f..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-disabled.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-icon-label.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-icon-label.png deleted file mode 100644 index 14efdb9c..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-icon-label.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-sizes.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-sizes.png deleted file mode 100644 index 30ec19b0..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-button-sizes.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-alienblue.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-alienblue.png deleted file mode 100644 index 312d6c79..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-alienblue.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-berrypurple.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-berrypurple.png deleted file mode 100644 index c80c7975..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-berrypurple.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-brown.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-brown.png deleted file mode 100644 index 0892f8b6..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-brown.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-coolgray.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-coolgray.png deleted file mode 100644 index d2480c24..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-coolgray.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-kiwigreen.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-kiwigreen.png deleted file mode 100644 index 806b0512..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-kiwigreen.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-lightblue.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-lightblue.png deleted file mode 100644 index b260a918..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-lightblue.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-lime.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-lime.png deleted file mode 100644 index eb3abec7..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-lime.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-mintgreen.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-mintgreen.png deleted file mode 100644 index 76fad270..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-mintgreen.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-orangered.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-orangered.png deleted file mode 100644 index 436d6b70..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-orangered.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-periwinkle.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-periwinkle.png deleted file mode 100644 index 10bddd8b..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-periwinkle.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-puregray.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-puregray.png deleted file mode 100644 index e528ba04..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-puregray.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-red.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-red.png deleted file mode 100644 index 9f4c7bde..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-red.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-sakurapink.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-sakurapink.png deleted file mode 100644 index 37b138df..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-sakurapink.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-yellow.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-yellow.png deleted file mode 100644 index d473be2a..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-yellow.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-yelloworange.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-yelloworange.png deleted file mode 100644 index bf4d5945..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-colors-yelloworange.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-alignment.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-alignment.png deleted file mode 100644 index e270da2d..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-alignment.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-border-width.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-border-width.png deleted file mode 100644 index ed4f3669..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-border-width.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-corner-radius.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-corner-radius.png deleted file mode 100644 index cc3e6a57..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-corner-radius.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-gap.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-gap.png deleted file mode 100644 index 9999f283..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-gap.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-padding.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-padding.png deleted file mode 100644 index a7dbe692..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-padding.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-reverse.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-reverse.png deleted file mode 100644 index d2210806..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-stacks-reverse.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-text-size.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-text-size.png deleted file mode 100644 index 456ef23d..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-text-size.png and /dev/null differ diff --git a/versioned_docs/version-0.13/assets/blocks/docs-blocks-text-weights.png b/versioned_docs/version-0.13/assets/blocks/docs-blocks-text-weights.png deleted file mode 100644 index fd3651d6..00000000 Binary files a/versioned_docs/version-0.13/assets/blocks/docs-blocks-text-weights.png and /dev/null differ diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/Devvit/README.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/Devvit/README.md new file mode 100644 index 00000000..43cabcf2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/Devvit/README.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../../../README.md) + +*** + +# Devvit + +## Type Aliases + +- [~~Context~~](type-aliases/Context.md) diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/Devvit/type-aliases/Context.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/Devvit/type-aliases/Context.md new file mode 100644 index 00000000..ae950b06 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/Devvit/type-aliases/Context.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Type Alias: ~~Context~~ + +> **Context** = [`ContextAPIClients`](../../../../type-aliases/ContextAPIClients.md) & [`BaseContext`](../../../../type-aliases/BaseContext.md) + +The current app context of the event or render. + +## Deprecated + +- Please switch to the `Context` type exported by public-api. diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/README.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/README.md new file mode 100644 index 00000000..4ff67d66 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/README.md @@ -0,0 +1,73 @@ +[**@devvit/public-api v0.14.0-dev**](../../../README.md) + +*** + +# EventTypes + +#events.ts + +Code generated by ts-proto. DO NOT EDIT. + +## Enumerations + +- [DeletionReason](enumerations/DeletionReason.md) +- [EventSource](enumerations/EventSource.md) + +## Interfaces + +- [AccountDelete](interfaces/AccountDelete.md) +- [AppInstall](interfaces/AppInstall.md) +- [AppUpgrade](interfaces/AppUpgrade.md) +- [AutomoderatorFilterComment](interfaces/AutomoderatorFilterComment.md) +- [AutomoderatorFilterPost](interfaces/AutomoderatorFilterPost.md) +- [CommentApprove](interfaces/CommentApprove.md) +- [CommentCreate](interfaces/CommentCreate.md) +- [CommentDelete](interfaces/CommentDelete.md) +- [CommentReport](interfaces/CommentReport.md) +- [CommentSubmit](interfaces/CommentSubmit.md) +- [CommentUpdate](interfaces/CommentUpdate.md) +- [MentionInCommentCreate](interfaces/MentionInCommentCreate.md) +- [PostApprove](interfaces/PostApprove.md) +- [PostCreate](interfaces/PostCreate.md) +- [PostDelete](interfaces/PostDelete.md) +- [PostFlairUpdate](interfaces/PostFlairUpdate.md) +- [PostNsfwUpdate](interfaces/PostNsfwUpdate.md) +- [PostReport](interfaces/PostReport.md) +- [PostSpoilerUpdate](interfaces/PostSpoilerUpdate.md) +- [PostSubmit](interfaces/PostSubmit.md) +- [PostUpdate](interfaces/PostUpdate.md) +- [SubredditSubscribe](interfaces/SubredditSubscribe.md) +- [Vote](interfaces/Vote.md) + +## Variables + +- [AccountDelete](variables/AccountDelete.md) +- [AppInstall](variables/AppInstall.md) +- [AppUpgrade](variables/AppUpgrade.md) +- [AutomoderatorFilterComment](variables/AutomoderatorFilterComment.md) +- [AutomoderatorFilterPost](variables/AutomoderatorFilterPost.md) +- [CommentApprove](variables/CommentApprove.md) +- [CommentCreate](variables/CommentCreate.md) +- [CommentDelete](variables/CommentDelete.md) +- [CommentReport](variables/CommentReport.md) +- [CommentSubmit](variables/CommentSubmit.md) +- [CommentUpdate](variables/CommentUpdate.md) +- [MentionInCommentCreate](variables/MentionInCommentCreate.md) +- [PostApprove](variables/PostApprove.md) +- [PostCreate](variables/PostCreate.md) +- [PostDelete](variables/PostDelete.md) +- [PostFlairUpdate](variables/PostFlairUpdate.md) +- [PostNsfwUpdate](variables/PostNsfwUpdate.md) +- [PostReport](variables/PostReport.md) +- [PostSpoilerUpdate](variables/PostSpoilerUpdate.md) +- [PostSubmit](variables/PostSubmit.md) +- [PostUpdate](variables/PostUpdate.md) +- [SubredditSubscribe](variables/SubredditSubscribe.md) +- [Vote](variables/Vote.md) + +## Functions + +- [deletionReasonFromJSON](functions/deletionReasonFromJSON.md) +- [deletionReasonToJSON](functions/deletionReasonToJSON.md) +- [eventSourceFromJSON](functions/eventSourceFromJSON.md) +- [eventSourceToJSON](functions/eventSourceToJSON.md) diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/enumerations/DeletionReason.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/enumerations/DeletionReason.md new file mode 100644 index 00000000..3c2c907f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/enumerations/DeletionReason.md @@ -0,0 +1,61 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Enumeration: DeletionReason + +## Enumeration Members + + + +### EXPLICIT\_CONTENT + +> **EXPLICIT\_CONTENT**: `5` + +*** + + + +### LEGAL + +> **LEGAL**: `2` + +*** + + + +### OTHER + +> **OTHER**: `3` + +*** + + + +### SPAM + +> **SPAM**: `1` + +*** + + + +### UNKNOWN + +> **UNKNOWN**: `4` + +*** + + + +### UNRECOGNIZED + +> **UNRECOGNIZED**: `-1` + +*** + + + +### UNSPECIFIED\_DELETION\_REASON + +> **UNSPECIFIED\_DELETION\_REASON**: `0` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/enumerations/EventSource.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/enumerations/EventSource.md new file mode 100644 index 00000000..eaa7dec7 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/enumerations/EventSource.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Enumeration: EventSource + +## Enumeration Members + + + +### ADMIN + +> **ADMIN**: `2` + +*** + + + +### MODERATOR + +> **MODERATOR**: `3` + +*** + + + +### UNKNOWN\_EVENT\_SOURCE + +> **UNKNOWN\_EVENT\_SOURCE**: `0` + +*** + + + +### UNRECOGNIZED + +> **UNRECOGNIZED**: `-1` + +*** + + + +### USER + +> **USER**: `1` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/deletionReasonFromJSON.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/deletionReasonFromJSON.md new file mode 100644 index 00000000..c5d774d9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/deletionReasonFromJSON.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Function: deletionReasonFromJSON() + +> **deletionReasonFromJSON**(`object`): [`DeletionReason`](../enumerations/DeletionReason.md) + +## Parameters + +### object + +`any` + +## Returns + +[`DeletionReason`](../enumerations/DeletionReason.md) diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/deletionReasonToJSON.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/deletionReasonToJSON.md new file mode 100644 index 00000000..a6b1bccc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/deletionReasonToJSON.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Function: deletionReasonToJSON() + +> **deletionReasonToJSON**(`object`): `number` + +## Parameters + +### object + +[`DeletionReason`](../enumerations/DeletionReason.md) + +## Returns + +`number` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/eventSourceFromJSON.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/eventSourceFromJSON.md new file mode 100644 index 00000000..b303cf7b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/eventSourceFromJSON.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Function: eventSourceFromJSON() + +> **eventSourceFromJSON**(`object`): [`EventSource`](../enumerations/EventSource.md) + +## Parameters + +### object + +`any` + +## Returns + +[`EventSource`](../enumerations/EventSource.md) diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/eventSourceToJSON.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/eventSourceToJSON.md new file mode 100644 index 00000000..ca2aaa86 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/functions/eventSourceToJSON.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Function: eventSourceToJSON() + +> **eventSourceToJSON**(`object`): `number` + +## Parameters + +### object + +[`EventSource`](../enumerations/EventSource.md) + +## Returns + +`number` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AccountDelete.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AccountDelete.md new file mode 100644 index 00000000..029b6c56 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AccountDelete.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: AccountDelete + +## Properties + + + +### deletedAt? + +> `optional` **deletedAt**: `Date` + +*** + + + +### user? + +> `optional` **user**: `UserV2` + +*** + + + +### userId + +> **userId**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AppInstall.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AppInstall.md new file mode 100644 index 00000000..7746d96f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AppInstall.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: AppInstall + +## Properties + + + +### installer? + +> `optional` **installer**: `UserV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AppUpgrade.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AppUpgrade.md new file mode 100644 index 00000000..9b68b92b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AppUpgrade.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: AppUpgrade + +## Properties + + + +### installer? + +> `optional` **installer**: `UserV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterComment.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterComment.md new file mode 100644 index 00000000..609db6ff --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterComment.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: AutomoderatorFilterComment + +## Properties + + + +### author + +> **author**: `string` + +*** + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### reason + +> **reason**: `string` + +*** + + + +### removedAt? + +> `optional` **removedAt**: `Date` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterPost.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterPost.md new file mode 100644 index 00000000..f481ebe2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterPost.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: AutomoderatorFilterPost + +## Properties + + + +### author + +> **author**: `string` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### reason + +> **reason**: `string` + +*** + + + +### removedAt? + +> `optional` **removedAt**: `Date` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentApprove.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentApprove.md new file mode 100644 index 00000000..2340de96 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentApprove.md @@ -0,0 +1,53 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: CommentApprove + +## Properties + + + +### approvedAt? + +> `optional` **approvedAt**: `Date` + +*** + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### source + +> **source**: [`EventSource`](../enumerations/EventSource.md) + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentCreate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentCreate.md new file mode 100644 index 00000000..39dc7a3a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentCreate.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: CommentCreate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentDelete.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentDelete.md new file mode 100644 index 00000000..bdc2e429 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentDelete.md @@ -0,0 +1,77 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: CommentDelete + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### commentId + +> **commentId**: `string` + +*** + + + +### createdAt? + +> `optional` **createdAt**: `Date` + +*** + + + +### deletedAt? + +> `optional` **deletedAt**: `Date` + +*** + + + +### parentId + +> **parentId**: `string` + +*** + + + +### postId + +> **postId**: `string` + +*** + + + +### reason + +> **reason**: [`DeletionReason`](../enumerations/DeletionReason.md) + +*** + + + +### source + +> **source**: [`EventSource`](../enumerations/EventSource.md) + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentReport.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentReport.md new file mode 100644 index 00000000..ec940506 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentReport.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: CommentReport + +## Properties + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### reason + +> **reason**: `string` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentSubmit.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentSubmit.md new file mode 100644 index 00000000..085115bd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentSubmit.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: CommentSubmit + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentUpdate.md new file mode 100644 index 00000000..2728eba6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/CommentUpdate.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: CommentUpdate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### previousBody + +> **previousBody**: `string` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/MentionInCommentCreate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/MentionInCommentCreate.md new file mode 100644 index 00000000..00cb7278 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/MentionInCommentCreate.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: MentionInCommentCreate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### mentions? + +> `optional` **mentions**: `Mentions` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostApprove.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostApprove.md new file mode 100644 index 00000000..ff6a3cca --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostApprove.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostApprove + +## Properties + + + +### approvedAt? + +> `optional` **approvedAt**: `Date` + +*** + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### source + +> **source**: [`EventSource`](../enumerations/EventSource.md) + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostCreate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostCreate.md new file mode 100644 index 00000000..10bd2b7a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostCreate.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostCreate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostDelete.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostDelete.md new file mode 100644 index 00000000..adf3423b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostDelete.md @@ -0,0 +1,61 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostDelete + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### createdAt? + +> `optional` **createdAt**: `Date` + +*** + + + +### deletedAt? + +> `optional` **deletedAt**: `Date` + +*** + + + +### postId + +> **postId**: `string` + +*** + + + +### reason + +> **reason**: [`DeletionReason`](../enumerations/DeletionReason.md) + +*** + + + +### source + +> **source**: [`EventSource`](../enumerations/EventSource.md) + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostFlairUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostFlairUpdate.md new file mode 100644 index 00000000..7074dfed --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostFlairUpdate.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostFlairUpdate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostNsfwUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostNsfwUpdate.md new file mode 100644 index 00000000..d98c7800 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostNsfwUpdate.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostNsfwUpdate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### isNsfw + +> **isNsfw**: `boolean` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostReport.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostReport.md new file mode 100644 index 00000000..2fe96d3b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostReport.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostReport + +## Properties + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### reason + +> **reason**: `string` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostSpoilerUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostSpoilerUpdate.md new file mode 100644 index 00000000..5235f07a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostSpoilerUpdate.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostSpoilerUpdate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### isSpoiler + +> **isSpoiler**: `boolean` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostSubmit.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostSubmit.md new file mode 100644 index 00000000..dded82a7 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostSubmit.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostSubmit + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostUpdate.md new file mode 100644 index 00000000..71eb71ed --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/PostUpdate.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: PostUpdate + +## Properties + + + +### author? + +> `optional` **author**: `UserV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### previousBody + +> **previousBody**: `string` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/SubredditSubscribe.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/SubredditSubscribe.md new file mode 100644 index 00000000..ad64dd48 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/SubredditSubscribe.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: SubredditSubscribe + +## Properties + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` + +*** + + + +### subscriber? + +> `optional` **subscriber**: `UserV2` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/Vote.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/Vote.md new file mode 100644 index 00000000..d8fdbe15 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/interfaces/Vote.md @@ -0,0 +1,53 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Interface: Vote + +## Properties + + + +### comment? + +> `optional` **comment**: `CommentV2` + +*** + + + +### post? + +> `optional` **post**: `PostV2` + +*** + + + +### score + +> **score**: `number` + +*** + + + +### subreddit? + +> `optional` **subreddit**: `SubredditV2` + +*** + + + +### updatedAt? + +> `optional` **updatedAt**: `Date` + +*** + + + +### upvoteRatio + +> **upvoteRatio**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AccountDelete.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AccountDelete.md new file mode 100644 index 00000000..5b8e4b67 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AccountDelete.md @@ -0,0 +1,295 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: AccountDelete + +> **AccountDelete**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.AccountDelete"` + + + +### create() + +#### Parameters + +##### base? + +###### deletedAt? + +`Date` + +###### user? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### user.accountType? + +`AccountTypeV2` + +###### user.banned? + +`boolean` + +###### user.description? + +`string` + +###### user.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### user.flair.backgroundColor? + +`string` + +###### user.flair.cssClass? + +`string` + +###### user.flair.enabled? + +`boolean` + +###### user.flair.subredditId? + +`string` + +###### user.flair.templateId? + +`string` + +###### user.flair.text? + +`string` + +###### user.flair.textColor? + +`string` + +###### user.flair.userId? + +`string` + +###### user.iconImage? + +`string` + +###### user.id? + +`string` + +###### user.isGold? + +`boolean` + +###### user.karma? + +`number` + +###### user.name? + +`string` + +###### user.snoovatarImage? + +`string` + +###### user.spam? + +`boolean` + +###### user.suspended? + +`boolean` + +###### user.url? + +`string` + +###### userId? + +`string` + +#### Returns + +[`AccountDelete`](../interfaces/AccountDelete.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`AccountDelete`](../interfaces/AccountDelete.md) + + + +### encode() + +#### Parameters + +##### message + +[`AccountDelete`](../interfaces/AccountDelete.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`AccountDelete`](../interfaces/AccountDelete.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### deletedAt? + +`Date` + +###### user? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### user.accountType? + +`AccountTypeV2` + +###### user.banned? + +`boolean` + +###### user.description? + +`string` + +###### user.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### user.flair.backgroundColor? + +`string` + +###### user.flair.cssClass? + +`string` + +###### user.flair.enabled? + +`boolean` + +###### user.flair.subredditId? + +`string` + +###### user.flair.templateId? + +`string` + +###### user.flair.text? + +`string` + +###### user.flair.textColor? + +`string` + +###### user.flair.userId? + +`string` + +###### user.iconImage? + +`string` + +###### user.id? + +`string` + +###### user.isGold? + +`boolean` + +###### user.karma? + +`number` + +###### user.name? + +`string` + +###### user.snoovatarImage? + +`string` + +###### user.spam? + +`boolean` + +###### user.suspended? + +`boolean` + +###### user.url? + +`string` + +###### userId? + +`string` + +#### Returns + +[`AccountDelete`](../interfaces/AccountDelete.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`AccountDelete`](../interfaces/AccountDelete.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AppInstall.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AppInstall.md new file mode 100644 index 00000000..086b40ad --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AppInstall.md @@ -0,0 +1,383 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: AppInstall + +> **AppInstall**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.AppInstall"` + + + +### create() + +#### Parameters + +##### base? + +###### installer? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### installer.accountType? + +`AccountTypeV2` + +###### installer.banned? + +`boolean` + +###### installer.description? + +`string` + +###### installer.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### installer.flair.backgroundColor? + +`string` + +###### installer.flair.cssClass? + +`string` + +###### installer.flair.enabled? + +`boolean` + +###### installer.flair.subredditId? + +`string` + +###### installer.flair.templateId? + +`string` + +###### installer.flair.text? + +`string` + +###### installer.flair.textColor? + +`string` + +###### installer.flair.userId? + +`string` + +###### installer.iconImage? + +`string` + +###### installer.id? + +`string` + +###### installer.isGold? + +`boolean` + +###### installer.karma? + +`number` + +###### installer.name? + +`string` + +###### installer.snoovatarImage? + +`string` + +###### installer.spam? + +`boolean` + +###### installer.suspended? + +`boolean` + +###### installer.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AppInstall`](../interfaces/AppInstall.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`AppInstall`](../interfaces/AppInstall.md) + + + +### encode() + +#### Parameters + +##### message + +[`AppInstall`](../interfaces/AppInstall.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`AppInstall`](../interfaces/AppInstall.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### installer? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### installer.accountType? + +`AccountTypeV2` + +###### installer.banned? + +`boolean` + +###### installer.description? + +`string` + +###### installer.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### installer.flair.backgroundColor? + +`string` + +###### installer.flair.cssClass? + +`string` + +###### installer.flair.enabled? + +`boolean` + +###### installer.flair.subredditId? + +`string` + +###### installer.flair.templateId? + +`string` + +###### installer.flair.text? + +`string` + +###### installer.flair.textColor? + +`string` + +###### installer.flair.userId? + +`string` + +###### installer.iconImage? + +`string` + +###### installer.id? + +`string` + +###### installer.isGold? + +`boolean` + +###### installer.karma? + +`number` + +###### installer.name? + +`string` + +###### installer.snoovatarImage? + +`string` + +###### installer.spam? + +`boolean` + +###### installer.suspended? + +`boolean` + +###### installer.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AppInstall`](../interfaces/AppInstall.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`AppInstall`](../interfaces/AppInstall.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AppUpgrade.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AppUpgrade.md new file mode 100644 index 00000000..9e5bb531 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AppUpgrade.md @@ -0,0 +1,383 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: AppUpgrade + +> **AppUpgrade**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.AppUpgrade"` + + + +### create() + +#### Parameters + +##### base? + +###### installer? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### installer.accountType? + +`AccountTypeV2` + +###### installer.banned? + +`boolean` + +###### installer.description? + +`string` + +###### installer.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### installer.flair.backgroundColor? + +`string` + +###### installer.flair.cssClass? + +`string` + +###### installer.flair.enabled? + +`boolean` + +###### installer.flair.subredditId? + +`string` + +###### installer.flair.templateId? + +`string` + +###### installer.flair.text? + +`string` + +###### installer.flair.textColor? + +`string` + +###### installer.flair.userId? + +`string` + +###### installer.iconImage? + +`string` + +###### installer.id? + +`string` + +###### installer.isGold? + +`boolean` + +###### installer.karma? + +`number` + +###### installer.name? + +`string` + +###### installer.snoovatarImage? + +`string` + +###### installer.spam? + +`boolean` + +###### installer.suspended? + +`boolean` + +###### installer.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AppUpgrade`](../interfaces/AppUpgrade.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`AppUpgrade`](../interfaces/AppUpgrade.md) + + + +### encode() + +#### Parameters + +##### message + +[`AppUpgrade`](../interfaces/AppUpgrade.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`AppUpgrade`](../interfaces/AppUpgrade.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### installer? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### installer.accountType? + +`AccountTypeV2` + +###### installer.banned? + +`boolean` + +###### installer.description? + +`string` + +###### installer.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### installer.flair.backgroundColor? + +`string` + +###### installer.flair.cssClass? + +`string` + +###### installer.flair.enabled? + +`boolean` + +###### installer.flair.subredditId? + +`string` + +###### installer.flair.templateId? + +`string` + +###### installer.flair.text? + +`string` + +###### installer.flair.textColor? + +`string` + +###### installer.flair.userId? + +`string` + +###### installer.iconImage? + +`string` + +###### installer.id? + +`string` + +###### installer.isGold? + +`boolean` + +###### installer.karma? + +`number` + +###### installer.name? + +`string` + +###### installer.snoovatarImage? + +`string` + +###### installer.spam? + +`boolean` + +###### installer.suspended? + +`boolean` + +###### installer.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AppUpgrade`](../interfaces/AppUpgrade.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`AppUpgrade`](../interfaces/AppUpgrade.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AutomoderatorFilterComment.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AutomoderatorFilterComment.md new file mode 100644 index 00000000..9feb6e35 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AutomoderatorFilterComment.md @@ -0,0 +1,407 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: AutomoderatorFilterComment + +> **AutomoderatorFilterComment**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.AutomoderatorFilterComment"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### reason? + +`string` + +###### removedAt? + +`Date` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AutomoderatorFilterComment`](../interfaces/AutomoderatorFilterComment.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`AutomoderatorFilterComment`](../interfaces/AutomoderatorFilterComment.md) + + + +### encode() + +#### Parameters + +##### message + +[`AutomoderatorFilterComment`](../interfaces/AutomoderatorFilterComment.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`AutomoderatorFilterComment`](../interfaces/AutomoderatorFilterComment.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### reason? + +`string` + +###### removedAt? + +`Date` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AutomoderatorFilterComment`](../interfaces/AutomoderatorFilterComment.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`AutomoderatorFilterComment`](../interfaces/AutomoderatorFilterComment.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AutomoderatorFilterPost.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AutomoderatorFilterPost.md new file mode 100644 index 00000000..fbb94c36 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/AutomoderatorFilterPost.md @@ -0,0 +1,927 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: AutomoderatorFilterPost + +> **AutomoderatorFilterPost**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.AutomoderatorFilterPost"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### reason? + +`string` + +###### removedAt? + +`Date` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AutomoderatorFilterPost`](../interfaces/AutomoderatorFilterPost.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`AutomoderatorFilterPost`](../interfaces/AutomoderatorFilterPost.md) + + + +### encode() + +#### Parameters + +##### message + +[`AutomoderatorFilterPost`](../interfaces/AutomoderatorFilterPost.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`AutomoderatorFilterPost`](../interfaces/AutomoderatorFilterPost.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### reason? + +`string` + +###### removedAt? + +`Date` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`AutomoderatorFilterPost`](../interfaces/AutomoderatorFilterPost.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`AutomoderatorFilterPost`](../interfaces/AutomoderatorFilterPost.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentApprove.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentApprove.md new file mode 100644 index 00000000..0e88db5c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentApprove.md @@ -0,0 +1,1271 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: CommentApprove + +> **CommentApprove**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.CommentApprove"` + + + +### create() + +#### Parameters + +##### base? + +###### approvedAt? + +`Date` + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentApprove`](../interfaces/CommentApprove.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`CommentApprove`](../interfaces/CommentApprove.md) + + + +### encode() + +#### Parameters + +##### message + +[`CommentApprove`](../interfaces/CommentApprove.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`CommentApprove`](../interfaces/CommentApprove.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### approvedAt? + +`Date` + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentApprove`](../interfaces/CommentApprove.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`CommentApprove`](../interfaces/CommentApprove.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentCreate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentCreate.md new file mode 100644 index 00000000..ebb0c51b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentCreate.md @@ -0,0 +1,1255 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: CommentCreate + +> **CommentCreate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.CommentCreate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentCreate`](../interfaces/CommentCreate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`CommentCreate`](../interfaces/CommentCreate.md) + + + +### encode() + +#### Parameters + +##### message + +[`CommentCreate`](../interfaces/CommentCreate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`CommentCreate`](../interfaces/CommentCreate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentCreate`](../interfaces/CommentCreate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`CommentCreate`](../interfaces/CommentCreate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentDelete.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentDelete.md new file mode 100644 index 00000000..02e73af8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentDelete.md @@ -0,0 +1,439 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: CommentDelete + +> **CommentDelete**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.CommentDelete"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### commentId? + +`string` + +###### createdAt? + +`Date` + +###### deletedAt? + +`Date` + +###### parentId? + +`string` + +###### postId? + +`string` + +###### reason? + +[`DeletionReason`](../enumerations/DeletionReason.md) + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentDelete`](../interfaces/CommentDelete.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`CommentDelete`](../interfaces/CommentDelete.md) + + + +### encode() + +#### Parameters + +##### message + +[`CommentDelete`](../interfaces/CommentDelete.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`CommentDelete`](../interfaces/CommentDelete.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### commentId? + +`string` + +###### createdAt? + +`Date` + +###### deletedAt? + +`Date` + +###### parentId? + +`string` + +###### postId? + +`string` + +###### reason? + +[`DeletionReason`](../enumerations/DeletionReason.md) + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentDelete`](../interfaces/CommentDelete.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`CommentDelete`](../interfaces/CommentDelete.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentReport.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentReport.md new file mode 100644 index 00000000..58992bd6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentReport.md @@ -0,0 +1,391 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: CommentReport + +> **CommentReport**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.CommentReport"` + + + +### create() + +#### Parameters + +##### base? + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### reason? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentReport`](../interfaces/CommentReport.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`CommentReport`](../interfaces/CommentReport.md) + + + +### encode() + +#### Parameters + +##### message + +[`CommentReport`](../interfaces/CommentReport.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`CommentReport`](../interfaces/CommentReport.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### reason? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentReport`](../interfaces/CommentReport.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`CommentReport`](../interfaces/CommentReport.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentSubmit.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentSubmit.md new file mode 100644 index 00000000..6c036ca8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentSubmit.md @@ -0,0 +1,1255 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: CommentSubmit + +> **CommentSubmit**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.CommentSubmit"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentSubmit`](../interfaces/CommentSubmit.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`CommentSubmit`](../interfaces/CommentSubmit.md) + + + +### encode() + +#### Parameters + +##### message + +[`CommentSubmit`](../interfaces/CommentSubmit.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`CommentSubmit`](../interfaces/CommentSubmit.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentSubmit`](../interfaces/CommentSubmit.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`CommentSubmit`](../interfaces/CommentSubmit.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentUpdate.md new file mode 100644 index 00000000..ceb9be36 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/CommentUpdate.md @@ -0,0 +1,1263 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: CommentUpdate + +> **CommentUpdate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.CommentUpdate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### previousBody? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentUpdate`](../interfaces/CommentUpdate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`CommentUpdate`](../interfaces/CommentUpdate.md) + + + +### encode() + +#### Parameters + +##### message + +[`CommentUpdate`](../interfaces/CommentUpdate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`CommentUpdate`](../interfaces/CommentUpdate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### previousBody? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`CommentUpdate`](../interfaces/CommentUpdate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`CommentUpdate`](../interfaces/CommentUpdate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/MentionInCommentCreate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/MentionInCommentCreate.md new file mode 100644 index 00000000..517e6a1b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/MentionInCommentCreate.md @@ -0,0 +1,1271 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: MentionInCommentCreate + +> **MentionInCommentCreate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.MentionInCommentCreate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### mentions? + +\{ `items`: `object`[]; \} + +###### mentions.items? + +`object`[] + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`MentionInCommentCreate`](../interfaces/MentionInCommentCreate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`MentionInCommentCreate`](../interfaces/MentionInCommentCreate.md) + + + +### encode() + +#### Parameters + +##### message + +[`MentionInCommentCreate`](../interfaces/MentionInCommentCreate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`MentionInCommentCreate`](../interfaces/MentionInCommentCreate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### mentions? + +\{ `items`: `object`[]; \} + +###### mentions.items? + +`object`[] + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`MentionInCommentCreate`](../interfaces/MentionInCommentCreate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`MentionInCommentCreate`](../interfaces/MentionInCommentCreate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostApprove.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostApprove.md new file mode 100644 index 00000000..01ebc86d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostApprove.md @@ -0,0 +1,1095 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostApprove + +> **PostApprove**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostApprove"` + + + +### create() + +#### Parameters + +##### base? + +###### approvedAt? + +`Date` + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostApprove`](../interfaces/PostApprove.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostApprove`](../interfaces/PostApprove.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostApprove`](../interfaces/PostApprove.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostApprove`](../interfaces/PostApprove.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### approvedAt? + +`Date` + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostApprove`](../interfaces/PostApprove.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostApprove`](../interfaces/PostApprove.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostCreate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostCreate.md new file mode 100644 index 00000000..493093b4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostCreate.md @@ -0,0 +1,1079 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostCreate + +> **PostCreate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostCreate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostCreate`](../interfaces/PostCreate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostCreate`](../interfaces/PostCreate.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostCreate`](../interfaces/PostCreate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostCreate`](../interfaces/PostCreate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostCreate`](../interfaces/PostCreate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostCreate`](../interfaces/PostCreate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostDelete.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostDelete.md new file mode 100644 index 00000000..560bcc7f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostDelete.md @@ -0,0 +1,423 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostDelete + +> **PostDelete**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostDelete"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### createdAt? + +`Date` + +###### deletedAt? + +`Date` + +###### postId? + +`string` + +###### reason? + +[`DeletionReason`](../enumerations/DeletionReason.md) + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostDelete`](../interfaces/PostDelete.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostDelete`](../interfaces/PostDelete.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostDelete`](../interfaces/PostDelete.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostDelete`](../interfaces/PostDelete.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### createdAt? + +`Date` + +###### deletedAt? + +`Date` + +###### postId? + +`string` + +###### reason? + +[`DeletionReason`](../enumerations/DeletionReason.md) + +###### source? + +[`EventSource`](../enumerations/EventSource.md) + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostDelete`](../interfaces/PostDelete.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostDelete`](../interfaces/PostDelete.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostFlairUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostFlairUpdate.md new file mode 100644 index 00000000..63551a2b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostFlairUpdate.md @@ -0,0 +1,1079 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostFlairUpdate + +> **PostFlairUpdate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostFlairUpdate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostFlairUpdate`](../interfaces/PostFlairUpdate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostFlairUpdate`](../interfaces/PostFlairUpdate.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostFlairUpdate`](../interfaces/PostFlairUpdate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostFlairUpdate`](../interfaces/PostFlairUpdate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostFlairUpdate`](../interfaces/PostFlairUpdate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostFlairUpdate`](../interfaces/PostFlairUpdate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostNsfwUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostNsfwUpdate.md new file mode 100644 index 00000000..07a3caf3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostNsfwUpdate.md @@ -0,0 +1,1087 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostNsfwUpdate + +> **PostNsfwUpdate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostNsfwUpdate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### isNsfw? + +`boolean` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostNsfwUpdate`](../interfaces/PostNsfwUpdate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostNsfwUpdate`](../interfaces/PostNsfwUpdate.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostNsfwUpdate`](../interfaces/PostNsfwUpdate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostNsfwUpdate`](../interfaces/PostNsfwUpdate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### isNsfw? + +`boolean` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostNsfwUpdate`](../interfaces/PostNsfwUpdate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostNsfwUpdate`](../interfaces/PostNsfwUpdate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostReport.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostReport.md new file mode 100644 index 00000000..98fb0b61 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostReport.md @@ -0,0 +1,911 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostReport + +> **PostReport**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostReport"` + + + +### create() + +#### Parameters + +##### base? + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### reason? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostReport`](../interfaces/PostReport.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostReport`](../interfaces/PostReport.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostReport`](../interfaces/PostReport.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostReport`](../interfaces/PostReport.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### reason? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostReport`](../interfaces/PostReport.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostReport`](../interfaces/PostReport.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostSpoilerUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostSpoilerUpdate.md new file mode 100644 index 00000000..e4fc641d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostSpoilerUpdate.md @@ -0,0 +1,1087 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostSpoilerUpdate + +> **PostSpoilerUpdate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostSpoilerUpdate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### isSpoiler? + +`boolean` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostSpoilerUpdate`](../interfaces/PostSpoilerUpdate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostSpoilerUpdate`](../interfaces/PostSpoilerUpdate.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostSpoilerUpdate`](../interfaces/PostSpoilerUpdate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostSpoilerUpdate`](../interfaces/PostSpoilerUpdate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### isSpoiler? + +`boolean` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostSpoilerUpdate`](../interfaces/PostSpoilerUpdate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostSpoilerUpdate`](../interfaces/PostSpoilerUpdate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostSubmit.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostSubmit.md new file mode 100644 index 00000000..0899c9a4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostSubmit.md @@ -0,0 +1,1079 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostSubmit + +> **PostSubmit**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostSubmit"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostSubmit`](../interfaces/PostSubmit.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostSubmit`](../interfaces/PostSubmit.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostSubmit`](../interfaces/PostSubmit.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostSubmit`](../interfaces/PostSubmit.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostSubmit`](../interfaces/PostSubmit.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostSubmit`](../interfaces/PostSubmit.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostUpdate.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostUpdate.md new file mode 100644 index 00000000..0564ef74 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/PostUpdate.md @@ -0,0 +1,1087 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: PostUpdate + +> **PostUpdate**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.PostUpdate"` + + + +### create() + +#### Parameters + +##### base? + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### previousBody? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostUpdate`](../interfaces/PostUpdate.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`PostUpdate`](../interfaces/PostUpdate.md) + + + +### encode() + +#### Parameters + +##### message + +[`PostUpdate`](../interfaces/PostUpdate.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`PostUpdate`](../interfaces/PostUpdate.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### author? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### author.accountType? + +`AccountTypeV2` + +###### author.banned? + +`boolean` + +###### author.description? + +`string` + +###### author.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### author.flair.backgroundColor? + +`string` + +###### author.flair.cssClass? + +`string` + +###### author.flair.enabled? + +`boolean` + +###### author.flair.subredditId? + +`string` + +###### author.flair.templateId? + +`string` + +###### author.flair.text? + +`string` + +###### author.flair.textColor? + +`string` + +###### author.flair.userId? + +`string` + +###### author.iconImage? + +`string` + +###### author.id? + +`string` + +###### author.isGold? + +`boolean` + +###### author.karma? + +`number` + +###### author.name? + +`string` + +###### author.snoovatarImage? + +`string` + +###### author.spam? + +`boolean` + +###### author.suspended? + +`boolean` + +###### author.url? + +`string` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### previousBody? + +`string` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +#### Returns + +[`PostUpdate`](../interfaces/PostUpdate.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`PostUpdate`](../interfaces/PostUpdate.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/SubredditSubscribe.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/SubredditSubscribe.md new file mode 100644 index 00000000..95b319ad --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/SubredditSubscribe.md @@ -0,0 +1,383 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: SubredditSubscribe + +> **SubredditSubscribe**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.SubredditSubscribe"` + + + +### create() + +#### Parameters + +##### base? + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +###### subscriber? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### subscriber.accountType? + +`AccountTypeV2` + +###### subscriber.banned? + +`boolean` + +###### subscriber.description? + +`string` + +###### subscriber.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### subscriber.flair.backgroundColor? + +`string` + +###### subscriber.flair.cssClass? + +`string` + +###### subscriber.flair.enabled? + +`boolean` + +###### subscriber.flair.subredditId? + +`string` + +###### subscriber.flair.templateId? + +`string` + +###### subscriber.flair.text? + +`string` + +###### subscriber.flair.textColor? + +`string` + +###### subscriber.flair.userId? + +`string` + +###### subscriber.iconImage? + +`string` + +###### subscriber.id? + +`string` + +###### subscriber.isGold? + +`boolean` + +###### subscriber.karma? + +`number` + +###### subscriber.name? + +`string` + +###### subscriber.snoovatarImage? + +`string` + +###### subscriber.spam? + +`boolean` + +###### subscriber.suspended? + +`boolean` + +###### subscriber.url? + +`string` + +#### Returns + +[`SubredditSubscribe`](../interfaces/SubredditSubscribe.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`SubredditSubscribe`](../interfaces/SubredditSubscribe.md) + + + +### encode() + +#### Parameters + +##### message + +[`SubredditSubscribe`](../interfaces/SubredditSubscribe.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`SubredditSubscribe`](../interfaces/SubredditSubscribe.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +###### subscriber? + +\{ `accountType`: `AccountTypeV2`; `banned`: `boolean`; `description`: `string`; `flair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `iconImage`: `string`; `id`: `string`; `isGold`: `boolean`; `karma`: `number`; `name`: `string`; `snoovatarImage`: `string`; `spam`: `boolean`; `suspended`: `boolean`; `url`: `string`; \} + +###### subscriber.accountType? + +`AccountTypeV2` + +###### subscriber.banned? + +`boolean` + +###### subscriber.description? + +`string` + +###### subscriber.flair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### subscriber.flair.backgroundColor? + +`string` + +###### subscriber.flair.cssClass? + +`string` + +###### subscriber.flair.enabled? + +`boolean` + +###### subscriber.flair.subredditId? + +`string` + +###### subscriber.flair.templateId? + +`string` + +###### subscriber.flair.text? + +`string` + +###### subscriber.flair.textColor? + +`string` + +###### subscriber.flair.userId? + +`string` + +###### subscriber.iconImage? + +`string` + +###### subscriber.id? + +`string` + +###### subscriber.isGold? + +`boolean` + +###### subscriber.karma? + +`number` + +###### subscriber.name? + +`string` + +###### subscriber.snoovatarImage? + +`string` + +###### subscriber.spam? + +`boolean` + +###### subscriber.suspended? + +`boolean` + +###### subscriber.url? + +`string` + +#### Returns + +[`SubredditSubscribe`](../interfaces/SubredditSubscribe.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`SubredditSubscribe`](../interfaces/SubredditSubscribe.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/Vote.md b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/Vote.md new file mode 100644 index 00000000..f7eb470f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/@devvit/namespaces/EventTypes/variables/Vote.md @@ -0,0 +1,1103 @@ +[**@devvit/public-api v0.14.0-dev**](../../../../README.md) + +*** + +# Variable: Vote + +> **Vote**: `object` + +## Type declaration + + + +### $type + +> **$type**: `"devvit.events.v1alpha.Vote"` + + + +### create() + +#### Parameters + +##### base? + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### score? + +`number` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +###### updatedAt? + +`Date` + +###### upvoteRatio? + +`number` + +#### Returns + +[`Vote`](../interfaces/Vote.md) + + + +### decode() + +#### Parameters + +##### input + +`Reader` | `Uint8Array`\<`ArrayBufferLike`\> + +##### length? + +`number` + +#### Returns + +[`Vote`](../interfaces/Vote.md) + + + +### encode() + +#### Parameters + +##### message + +[`Vote`](../interfaces/Vote.md) + +##### writer? + +`Writer` + +#### Returns + +`Writer` + + + +### fromJSON() + +#### Parameters + +##### object + +`any` + +#### Returns + +[`Vote`](../interfaces/Vote.md) + + + +### fromPartial() + +#### Parameters + +##### object + +###### comment? + +\{ `author`: `string`; `body`: `string`; `collapsedBecauseCrowdControl`: `boolean`; `createdAt`: `number`; `deleted`: `boolean`; `downvotes`: `number`; `elementTypes`: `string`[]; `gilded`: `boolean`; `hasMedia`: `boolean`; `id`: `string`; `languageCode`: `string`; `lastModifiedAt`: `number`; `mediaUrls`: `string`[]; `numReports`: `number`; `parentId`: `string`; `permalink`: `string`; `postId`: `string`; `score`: `number`; `spam`: `boolean`; `subredditId`: `string`; `upvotes`: `number`; \} + +###### comment.author? + +`string` + +###### comment.body? + +`string` + +###### comment.collapsedBecauseCrowdControl? + +`boolean` + +###### comment.createdAt? + +`number` + +###### comment.deleted? + +`boolean` + +###### comment.downvotes? + +`number` + +###### comment.elementTypes? + +`string`[] + +###### comment.gilded? + +`boolean` + +###### comment.hasMedia? + +`boolean` + +###### comment.id? + +`string` + +###### comment.languageCode? + +`string` + +###### comment.lastModifiedAt? + +`number` + +###### comment.mediaUrls? + +`string`[] + +###### comment.numReports? + +`number` + +###### comment.parentId? + +`string` + +###### comment.permalink? + +`string` + +###### comment.postId? + +`string` + +###### comment.score? + +`number` + +###### comment.spam? + +`boolean` + +###### comment.subredditId? + +`string` + +###### comment.upvotes? + +`number` + +###### post? + +\{ `authorFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \}; `authorId`: `string`; `createdAt`: `number`; `crosspostParentId`: `string`; `crowdControlLevel`: `CrowdControlLevel`; `deleted`: `boolean`; `distinguished`: `DistinguishType`; `downvotes`: `number`; `galleryImages`: `string`[]; `gildings`: `number`; `id`: `string`; `ignoreReports`: `boolean`; `isApproved`: `boolean`; `isArchived`: `boolean`; `isClubContent`: `boolean`; `isGallery`: `boolean`; `isImage`: `boolean`; `isLocked`: `boolean`; `isMeta`: `boolean`; `isMultiMedia`: `boolean`; `isPoll`: `boolean`; `isPromoted`: `boolean`; `isSelf`: `boolean`; `isSpoiler`: `boolean`; `isSticky`: `boolean`; `isVideo`: `boolean`; `languageCode`: `string`; `linkFlair`: \{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \}; `media`: \{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \}; `mediaUrls`: `string`[]; `nsfw`: `boolean`; `numComments`: `number`; `numReports`: `number`; `permalink`: `string`; `score`: `number`; `selftext`: `string`; `spam`: `boolean`; `subredditId`: `string`; `thumbnail`: `string`; `title`: `string`; `type`: `string`; `unlisted`: `boolean`; `updatedAt`: `number`; `upvotes`: `number`; `url`: `string`; \} + +###### post.authorFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `enabled`: `boolean`; `subredditId`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; `userId`: `string`; \} + +###### post.authorFlair.backgroundColor? + +`string` + +###### post.authorFlair.cssClass? + +`string` + +###### post.authorFlair.enabled? + +`boolean` + +###### post.authorFlair.subredditId? + +`string` + +###### post.authorFlair.templateId? + +`string` + +###### post.authorFlair.text? + +`string` + +###### post.authorFlair.textColor? + +`string` + +###### post.authorFlair.userId? + +`string` + +###### post.authorId? + +`string` + +###### post.createdAt? + +`number` + +###### post.crosspostParentId? + +`string` + +###### post.crowdControlLevel? + +`CrowdControlLevel` + +###### post.deleted? + +`boolean` + +###### post.distinguished? + +`DistinguishType` + +###### post.downvotes? + +`number` + +###### post.galleryImages? + +`string`[] + +###### post.gildings? + +`number` + +###### post.id? + +`string` + +###### post.ignoreReports? + +`boolean` + +###### post.isApproved? + +`boolean` + +###### post.isArchived? + +`boolean` + +###### post.isClubContent? + +`boolean` + +###### post.isGallery? + +`boolean` + +###### post.isImage? + +`boolean` + +Indicates if the post contains a single image rather than a gallery of multiple images, which is indicated by the is_gallery field. + +###### post.isLocked? + +`boolean` + +###### post.isMeta? + +`boolean` + +###### post.isMultiMedia? + +`boolean` + +###### post.isPoll? + +`boolean` + +###### post.isPromoted? + +`boolean` + +###### post.isSelf? + +`boolean` + +###### post.isSpoiler? + +`boolean` + +###### post.isSticky? + +`boolean` + +###### post.isVideo? + +`boolean` + +###### post.languageCode? + +`string` + +###### post.linkFlair? + +\{ `backgroundColor`: `string`; `cssClass`: `string`; `templateId`: `string`; `text`: `string`; `textColor`: `string`; \} + +###### post.linkFlair.backgroundColor? + +`string` + +###### post.linkFlair.cssClass? + +`string` + +###### post.linkFlair.templateId? + +`string` + +###### post.linkFlair.text? + +`string` + +###### post.linkFlair.textColor? + +`string` + +###### post.media? + +\{ `oembed`: \{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \}; `redditVideo`: \{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \}; `type`: `string`; \} + +###### post.media.oembed? + +\{ `authorName`: `string`; `authorUrl`: `string`; `description`: `string`; `height`: `number`; `html`: `string`; `providerName`: `string`; `providerUrl`: `string`; `thumbnailHeight`: `number`; `thumbnailUrl`: `string`; `thumbnailWidth`: `number`; `title`: `string`; `type`: `string`; `version`: `string`; `width`: `number`; \} + +###### post.media.oembed.authorName? + +`string` + +###### post.media.oembed.authorUrl? + +`string` + +###### post.media.oembed.description? + +`string` + +###### post.media.oembed.height? + +`number` + +###### post.media.oembed.html? + +`string` + +###### post.media.oembed.providerName? + +`string` + +###### post.media.oembed.providerUrl? + +`string` + +###### post.media.oembed.thumbnailHeight? + +`number` + +###### post.media.oembed.thumbnailUrl? + +`string` + +###### post.media.oembed.thumbnailWidth? + +`number` + +###### post.media.oembed.title? + +`string` + +###### post.media.oembed.type? + +`string` + +###### post.media.oembed.version? + +`string` + +###### post.media.oembed.width? + +`number` + +###### post.media.redditVideo? + +\{ `bitrateKbps`: `number`; `dashUrl`: `string`; `duration`: `number`; `fallbackUrl`: `string`; `height`: `number`; `hlsUrl`: `string`; `isGif`: `boolean`; `scrubberMediaUrl`: `string`; `transcodingStatus`: `string`; `width`: `number`; \} + +###### post.media.redditVideo.bitrateKbps? + +`number` + +###### post.media.redditVideo.dashUrl? + +`string` + +###### post.media.redditVideo.duration? + +`number` + +###### post.media.redditVideo.fallbackUrl? + +`string` + +###### post.media.redditVideo.height? + +`number` + +###### post.media.redditVideo.hlsUrl? + +`string` + +###### post.media.redditVideo.isGif? + +`boolean` + +###### post.media.redditVideo.scrubberMediaUrl? + +`string` + +###### post.media.redditVideo.transcodingStatus? + +`string` + +###### post.media.redditVideo.width? + +`number` + +###### post.media.type? + +`string` + +###### post.mediaUrls? + +`string`[] + +###### post.nsfw? + +`boolean` + +###### post.numComments? + +`number` + +###### post.numReports? + +`number` + +###### post.permalink? + +`string` + +###### post.score? + +`number` + +###### post.selftext? + +`string` + +rename to text? + +###### post.spam? + +`boolean` + +###### post.subredditId? + +`string` + +###### post.thumbnail? + +`string` + +###### post.title? + +`string` + +###### post.type? + +`string` + +###### post.unlisted? + +`boolean` + +###### post.updatedAt? + +`number` + +###### post.upvotes? + +`number` + +###### post.url? + +`string` + +###### score? + +`number` + +###### subreddit? + +\{ `description`: `string`; `id`: `string`; `name`: `string`; `nsfw`: `boolean`; `permalink`: `string`; `quarantined`: `boolean`; `rating`: `SubredditRating`; `spam`: `boolean`; `subscribersCount`: `number`; `title`: `string`; `topics`: `string`[]; `type`: `SubredditType`; \} + +###### subreddit.description? + +`string` + +###### subreddit.id? + +`string` + +###### subreddit.name? + +`string` + +###### subreddit.nsfw? + +`boolean` + +###### subreddit.permalink? + +`string` + +###### subreddit.quarantined? + +`boolean` + +###### subreddit.rating? + +`SubredditRating` + +###### subreddit.spam? + +`boolean` + +###### subreddit.subscribersCount? + +`number` + +###### subreddit.title? + +`string` + +###### subreddit.topics? + +`string`[] + +###### subreddit.type? + +`SubredditType` + +###### updatedAt? + +`Date` + +###### upvoteRatio? + +`number` + +#### Returns + +[`Vote`](../interfaces/Vote.md) + + + +### toJSON() + +#### Parameters + +##### message + +[`Vote`](../interfaces/Vote.md) + +#### Returns + +`unknown` diff --git a/versioned_docs/version-0.14/api/public-api/README.md b/versioned_docs/version-0.14/api/public-api/README.md new file mode 100644 index 00000000..2af16919 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/README.md @@ -0,0 +1,463 @@ +**@devvit/public-api v0.14.0-dev** + +*** + +# @devvit/public-api v0.14.0-dev + +## Namespaces + +- [Devvit](@devvit/namespaces/Devvit/README.md) +- [EventTypes](@devvit/namespaces/EventTypes/README.md) + +## Enumerations + +- [AboutLocations](enumerations/AboutLocations.md) +- [DeletionReason](enumerations/DeletionReason.md) +- [EntrypointHeight](enumerations/EntrypointHeight.md) +- [EventSource](enumerations/EventSource.md) +- [FlairType](enumerations/FlairType.md) +- [FormattingFlag](enumerations/FormattingFlag.md) +- [ModMailActionType](enumerations/ModMailActionType.md) +- [ModMailConversationState](enumerations/ModMailConversationState.md) +- [SettingScope](enumerations/SettingScope.md) +- [SocialLinkType](enumerations/SocialLinkType.md) +- [WikiPagePermissionLevel](enumerations/WikiPagePermissionLevel.md) + +## Classes + +- [AuthorFlairSettings](classes/AuthorFlairSettings.md) +- [ButtonWidget](classes/ButtonWidget.md) +- [CalendarWidget](classes/CalendarWidget.md) +- [Comment](classes/Comment.md) +- [CommunityListWidget](classes/CommunityListWidget.md) +- [CustomWidget](classes/CustomWidget.md) +- [Devvit](classes/Devvit.md) +- [Flair](classes/Flair.md) +- [FlairTemplate](classes/FlairTemplate.md) +- [ImageWidget](classes/ImageWidget.md) +- [Listing](classes/Listing.md) +- [ModMailService](classes/ModMailService.md) +- [ModNote](classes/ModNote.md) +- [Post](classes/Post.md) +- [PostFlairSettings](classes/PostFlairSettings.md) +- [PostFlairWidget](classes/PostFlairWidget.md) +- [PrivateMessage](classes/PrivateMessage.md) +- [RedditAPIClient](classes/RedditAPIClient.md) +- [RedditClient](classes/RedditClient.md) +- [RichTextBuilder](classes/RichTextBuilder.md) +- [Rule](classes/Rule.md) +- [SettingsClient](classes/SettingsClient.md) +- [Subreddit](classes/Subreddit.md) +- [SubredditBannedUser](classes/SubredditBannedUser.md) +- [SubredditContributorUser](classes/SubredditContributorUser.md) +- [SubredditDescription](classes/SubredditDescription.md) +- [SubredditModeratorUser](classes/SubredditModeratorUser.md) +- [SubredditMutedUser](classes/SubredditMutedUser.md) +- [SubredditRulesWidget](classes/SubredditRulesWidget.md) +- [SubredditWikiBannedUser](classes/SubredditWikiBannedUser.md) +- [SubredditWikiContributorUser](classes/SubredditWikiContributorUser.md) +- [SubredditWikiSettings](classes/SubredditWikiSettings.md) +- [TextAreaWidget](classes/TextAreaWidget.md) +- [User](classes/User.md) +- [Widget](classes/Widget.md) +- [WikiPage](classes/WikiPage.md) +- [WikiPageRevision](classes/WikiPageRevision.md) +- [WikiPageSettings](classes/WikiPageSettings.md) + +## Interfaces + +- [BlockQuoteContext](interfaces/BlockQuoteContext.md) +- [CodeBlockContext](interfaces/CodeBlockContext.md) +- [HeadingContext](interfaces/HeadingContext.md) +- [ListContext](interfaces/ListContext.md) +- [ListItemContext](interfaces/ListItemContext.md) +- [ModAction](interfaces/ModAction.md) +- [ParagraphContext](interfaces/ParagraphContext.md) +- [SpoilerContext](interfaces/SpoilerContext.md) +- [TableCellContext](interfaces/TableCellContext.md) +- [TableContext](interfaces/TableContext.md) +- [TableRowContext](interfaces/TableRowContext.md) +- [TxClientLike](interfaces/TxClientLike.md) + +## Type Aliases + +- [AboutSubredditTypes](type-aliases/AboutSubredditTypes.md) +- [AddRemovalNoteOptions](type-aliases/AddRemovalNoteOptions.md) +- [AddWidgetData](type-aliases/AddWidgetData.md) +- [AllowableFlairContent](type-aliases/AllowableFlairContent.md) +- [AnimatedImage](type-aliases/AnimatedImage.md) +- [AppInstall](type-aliases/AppInstall.md) +- [AppInstallDefinition](type-aliases/AppInstallDefinition.md) +- [AppUpgrade](type-aliases/AppUpgrade.md) +- [AppUpgradeDefinition](type-aliases/AppUpgradeDefinition.md) +- [AutomoderatorFilterComment](type-aliases/AutomoderatorFilterComment.md) +- [AutomoderatorFilterPost](type-aliases/AutomoderatorFilterPost.md) +- [BackgroundImagePosition](type-aliases/BackgroundImagePosition.md) +- [BannerHeight](type-aliases/BannerHeight.md) +- [BanUserOptions](type-aliases/BanUserOptions.md) +- [BanWikiContributorOptions](type-aliases/BanWikiContributorOptions.md) +- [BaseContext](type-aliases/BaseContext.md) +- [BaseField](type-aliases/BaseField.md) +- [BitfieldCommand](type-aliases/BitfieldCommand.md) +- [BlockQuote](type-aliases/BlockQuote.md) +- [BlockQuoteContainer](type-aliases/BlockQuoteContainer.md) +- [BlockQuoteNode](type-aliases/BlockQuoteNode.md) +- [BlockQuoteOptions](type-aliases/BlockQuoteOptions.md) +- [BooleanField](type-aliases/BooleanField.md) +- [CancelJob](type-aliases/CancelJob.md) +- [CodeBlock](type-aliases/CodeBlock.md) +- [CodeBlockContainer](type-aliases/CodeBlockContainer.md) +- [CodeBlockOptions](type-aliases/CodeBlockOptions.md) +- [ColumnAlignment](type-aliases/ColumnAlignment.md) +- [CommentCreate](type-aliases/CommentCreate.md) +- [CommentCreateDefinition](type-aliases/CommentCreateDefinition.md) +- [CommentDelete](type-aliases/CommentDelete.md) +- [CommentDeleteDefinition](type-aliases/CommentDeleteDefinition.md) +- [CommentLink](type-aliases/CommentLink.md) +- [CommentLinkOptions](type-aliases/CommentLinkOptions.md) +- [CommentMediaTypes](type-aliases/CommentMediaTypes.md) +- [CommentReport](type-aliases/CommentReport.md) +- [CommentReportDefinition](type-aliases/CommentReportDefinition.md) +- [CommentSort](type-aliases/CommentSort.md) +- [CommentSubmissionOptions](type-aliases/CommentSubmissionOptions.md) +- [CommentSubmit](type-aliases/CommentSubmit.md) +- [CommentSubmitDefinition](type-aliases/CommentSubmitDefinition.md) +- [CommentUpdate](type-aliases/CommentUpdate.md) +- [CommentUpdateDefinition](type-aliases/CommentUpdateDefinition.md) +- [CommonFlair](type-aliases/CommonFlair.md) +- [CommonSubmitPostOptions](type-aliases/CommonSubmitPostOptions.md) +- [CommunityNameFormat](type-aliases/CommunityNameFormat.md) +- [Configuration](type-aliases/Configuration.md) +- [Context](type-aliases/Context.md) +- [ContextAPIClients](type-aliases/ContextAPIClients.md) +- [ContextDebugInfo](type-aliases/ContextDebugInfo.md) +- [ConversationData](type-aliases/ConversationData.md) +- [ConversationResponse](type-aliases/ConversationResponse.md) +- [ConversationStateFilter](type-aliases/ConversationStateFilter.md) +- [ConversationUserData](type-aliases/ConversationUserData.md) +- [CreateFlairTemplateOptions](type-aliases/CreateFlairTemplateOptions.md) +- [CreateModNoteOptions](type-aliases/CreateModNoteOptions.md) +- [CreateRelationshipOptions](type-aliases/CreateRelationshipOptions.md) +- [CreateRuleOptions](type-aliases/CreateRuleOptions.md) +- [CreateWikiPageOptions](type-aliases/CreateWikiPageOptions.md) +- [CrosspostOptions](type-aliases/CrosspostOptions.md) +- [CrowdControlLevel](type-aliases/CrowdControlLevel.md) +- [CustomizationFlag](type-aliases/CustomizationFlag.md) +- [CustomPostRichTextFallback](type-aliases/CustomPostRichTextFallback.md) +- [CustomPostTextFallbackOptions](type-aliases/CustomPostTextFallbackOptions.md) +- [~~Data~~](type-aliases/Data.md) +- [DeleteNotesOptions](type-aliases/DeleteNotesOptions.md) +- [DevvitDebug](type-aliases/DevvitDebug.md) +- [Dispatch](type-aliases/Dispatch.md) +- [Document](type-aliases/Document.md) +- [DocumentNode](type-aliases/DocumentNode.md) +- [EditCommentOptions](type-aliases/EditCommentOptions.md) +- [EditFlairTemplateOptions](type-aliases/EditFlairTemplateOptions.md) +- [Embed](type-aliases/Embed.md) +- [EmbedContainer](type-aliases/EmbedContainer.md) +- [EmbedOptions](type-aliases/EmbedOptions.md) +- [EnrichedThumbnail](type-aliases/EnrichedThumbnail.md) +- [FlairBackgroundColor](type-aliases/FlairBackgroundColor.md) +- [FlairSettings](type-aliases/FlairSettings.md) +- [FlairTextColor](type-aliases/FlairTextColor.md) +- [Form](type-aliases/Form.md) +- [FormatOptions](type-aliases/FormatOptions.md) +- [FormatRange](type-aliases/FormatRange.md) +- [FormattingSpecification](type-aliases/FormattingSpecification.md) +- [FormDefinition](type-aliases/FormDefinition.md) +- [FormField](type-aliases/FormField.md) +- [FormFieldGroup](type-aliases/FormFieldGroup.md) +- [FormFunction](type-aliases/FormFunction.md) +- [FormKey](type-aliases/FormKey.md) +- [FormOnSubmitEvent](type-aliases/FormOnSubmitEvent.md) +- [FormOnSubmitEventHandler](type-aliases/FormOnSubmitEventHandler.md) +- [FormToFormValues](type-aliases/FormToFormValues.md) +- [FormValues](type-aliases/FormValues.md) +- [GalleryMedia](type-aliases/GalleryMedia.md) +- [GalleryMediaStatus](type-aliases/GalleryMediaStatus.md) +- [GetBestPostsOptions](type-aliases/GetBestPostsOptions.md) +- [GetCommentsByUserOptions](type-aliases/GetCommentsByUserOptions.md) +- [GetCommentsOptions](type-aliases/GetCommentsOptions.md) +- [GetConversationResponse](type-aliases/GetConversationResponse.md) +- [GetConversationsRequest](type-aliases/GetConversationsRequest.md) +- [GetConversationsResponse](type-aliases/GetConversationsResponse.md) +- [GetDuplicatesOptions](type-aliases/GetDuplicatesOptions.md) +- [GetHotPostsOptions](type-aliases/GetHotPostsOptions.md) +- [GetModerationLogOptions](type-aliases/GetModerationLogOptions.md) +- [GetModNotesOptions](type-aliases/GetModNotesOptions.md) +- [GetPageRevisionsOptions](type-aliases/GetPageRevisionsOptions.md) +- [GetPostsByUserOptions](type-aliases/GetPostsByUserOptions.md) +- [GetPostsOptions](type-aliases/GetPostsOptions.md) +- [GetPostsOptionsWithTimeframe](type-aliases/GetPostsOptionsWithTimeframe.md) +- [GetPrivateMessagesOptions](type-aliases/GetPrivateMessagesOptions.md) +- [GetSortedPostsOptions](type-aliases/GetSortedPostsOptions.md) +- [GetSubredditUsersByTypeOptions](type-aliases/GetSubredditUsersByTypeOptions.md) +- [GetSubscribedSubredditsForCurrentUserOptions](type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) +- [GetUserFlairBySubredditOptions](type-aliases/GetUserFlairBySubredditOptions.md) +- [GetUserFlairBySubredditResponse](type-aliases/GetUserFlairBySubredditResponse.md) +- [GetUserFlairOptions](type-aliases/GetUserFlairOptions.md) +- [GetUserOverviewOptions](type-aliases/GetUserOverviewOptions.md) +- [Heading](type-aliases/Heading.md) +- [HeadingContainer](type-aliases/HeadingContainer.md) +- [HeadingLevel](type-aliases/HeadingLevel.md) +- [HeadingOptions](type-aliases/HeadingOptions.md) +- [HeadingText](type-aliases/HeadingText.md) +- [HorizontalRule](type-aliases/HorizontalRule.md) +- [HorizontalRuleContainer](type-aliases/HorizontalRuleContainer.md) +- [Image](type-aliases/Image.md) +- [ImageContainer](type-aliases/ImageContainer.md) +- [ImageField](type-aliases/ImageField.md) +- [ImageOptions](type-aliases/ImageOptions.md) +- [ImagePosition](type-aliases/ImagePosition.md) +- [InternalSetPostFlairOptions](type-aliases/InternalSetPostFlairOptions.md) +- [JobContext](type-aliases/JobContext.md) +- [JSONArray](type-aliases/JSONArray.md) +- [JSONObject](type-aliases/JSONObject.md) +- [JSONPrimitive](type-aliases/JSONPrimitive.md) +- [JSONValue](type-aliases/JSONValue.md) +- [LineBreak](type-aliases/LineBreak.md) +- [LineBreakContainer](type-aliases/LineBreakContainer.md) +- [Link](type-aliases/Link.md) +- [LinkContainer](type-aliases/LinkContainer.md) +- [~~LinkFlair~~](type-aliases/LinkFlair.md) +- [LinkOptions](type-aliases/LinkOptions.md) +- [List](type-aliases/List.md) +- [ListChild](type-aliases/ListChild.md) +- [ListContainer](type-aliases/ListContainer.md) +- [ListingFetchOptions](type-aliases/ListingFetchOptions.md) +- [ListingFetchResponse](type-aliases/ListingFetchResponse.md) +- [ListItem](type-aliases/ListItem.md) +- [ListItemContainer](type-aliases/ListItemContainer.md) +- [ListOptions](type-aliases/ListOptions.md) +- [Media](type-aliases/Media.md) +- [MediaAsset](type-aliases/MediaAsset.md) +- [MediaAssetId](type-aliases/MediaAssetId.md) +- [MediaOptions](type-aliases/MediaOptions.md) +- [MediaPlugin](type-aliases/MediaPlugin.md) +- [MentionInCommentCreate](type-aliases/MentionInCommentCreate.md) +- [MentionInCommentCreateDefinition](type-aliases/MentionInCommentCreateDefinition.md) +- [MenuItem](type-aliases/MenuItem.md) +- [MenuItemLocation](type-aliases/MenuItemLocation.md) +- [MenuItemOnPressEvent](type-aliases/MenuItemOnPressEvent.md) +- [MenuItemPostFilter](type-aliases/MenuItemPostFilter.md) +- [MenuItemUserType](type-aliases/MenuItemUserType.md) +- [MenuPosition](type-aliases/MenuPosition.md) +- [MessageData](type-aliases/MessageData.md) +- [Metadata](type-aliases/Metadata.md) +- [ModActionData](type-aliases/ModActionData.md) +- [ModActionDefinition](type-aliases/ModActionDefinition.md) +- [ModActionTarget](type-aliases/ModActionTarget.md) +- [ModActionTrigger](type-aliases/ModActionTrigger.md) +- [ModActionType](type-aliases/ModActionType.md) +- [ModeratorPermission](type-aliases/ModeratorPermission.md) +- [ModeratorReport](type-aliases/ModeratorReport.md) +- [ModLogOptions](type-aliases/ModLogOptions.md) +- [ModMailDefinition](type-aliases/ModMailDefinition.md) +- [ModMailTrigger](type-aliases/ModMailTrigger.md) +- [ModNoteType](type-aliases/ModNoteType.md) +- [MoreObject](type-aliases/MoreObject.md) +- [MultiTriggerDefinition](type-aliases/MultiTriggerDefinition.md) +- [NumberField](type-aliases/NumberField.md) +- [ObfuscationReason](type-aliases/ObfuscationReason.md) +- [Oembed](type-aliases/Oembed.md) +- [OnAutomoderatorFilterCommentDefinition](type-aliases/OnAutomoderatorFilterCommentDefinition.md) +- [OnAutomoderatorFilterPostDefinition](type-aliases/OnAutomoderatorFilterPostDefinition.md) +- [OnTriggerRequest](type-aliases/OnTriggerRequest.md) +- [OnValidateHandler](type-aliases/OnValidateHandler.md) +- [Paragraph](type-aliases/Paragraph.md) +- [ParagraphContainer](type-aliases/ParagraphContainer.md) +- [ParagraphContentNode](type-aliases/ParagraphContentNode.md) +- [ParagraphField](type-aliases/ParagraphField.md) +- [PartialJSONArray](type-aliases/PartialJSONArray.md) +- [PartialJSONObject](type-aliases/PartialJSONObject.md) +- [PartialJSONPrimitive](type-aliases/PartialJSONPrimitive.md) +- [PartialJSONValue](type-aliases/PartialJSONValue.md) +- [Participant](type-aliases/Participant.md) +- [PlainText](type-aliases/PlainText.md) +- [PluginSettings](type-aliases/PluginSettings.md) +- [PollData](type-aliases/PollData.md) +- [PollOption](type-aliases/PollOption.md) +- [PositionedImagePosition](type-aliases/PositionedImagePosition.md) +- [PostCapabilities](type-aliases/PostCapabilities.md) +- [PostCreate](type-aliases/PostCreate.md) +- [PostCreateDefinition](type-aliases/PostCreateDefinition.md) +- [PostDelete](type-aliases/PostDelete.md) +- [PostDeleteDefinition](type-aliases/PostDeleteDefinition.md) +- [PostFlairUpdate](type-aliases/PostFlairUpdate.md) +- [PostFlairUpdateDefinition](type-aliases/PostFlairUpdateDefinition.md) +- [PostLink](type-aliases/PostLink.md) +- [PostLinkOptions](type-aliases/PostLinkOptions.md) +- [PostNsfwUpdate](type-aliases/PostNsfwUpdate.md) +- [PostNsfwUpdateDefinition](type-aliases/PostNsfwUpdateDefinition.md) +- [PostReport](type-aliases/PostReport.md) +- [PostReportDefinition](type-aliases/PostReportDefinition.md) +- [PostSpoilerUpdate](type-aliases/PostSpoilerUpdate.md) +- [PostSpoilerUpdateDefinition](type-aliases/PostSpoilerUpdateDefinition.md) +- [PostSubmit](type-aliases/PostSubmit.md) +- [PostSubmitDefinition](type-aliases/PostSubmitDefinition.md) +- [PostSuggestedCommentSort](type-aliases/PostSuggestedCommentSort.md) +- [PostTextOptions](type-aliases/PostTextOptions.md) +- [PostType](type-aliases/PostType.md) +- [PostUpdate](type-aliases/PostUpdate.md) +- [PostUpdateDefinition](type-aliases/PostUpdateDefinition.md) +- [PrefixedRedditLinkOptions](type-aliases/PrefixedRedditLinkOptions.md) +- [RawText](type-aliases/RawText.md) +- [RawTextContainer](type-aliases/RawTextContainer.md) +- [RawTextOptions](type-aliases/RawTextOptions.md) +- [RedditLink](type-aliases/RedditLink.md) +- [RedditLinkContainer](type-aliases/RedditLinkContainer.md) +- [RedditPermalinkOptions](type-aliases/RedditPermalinkOptions.md) +- [RedditVideo](type-aliases/RedditVideo.md) +- [RedisClient](type-aliases/RedisClient.md) +- [RelationshipType](type-aliases/RelationshipType.md) +- [RemovalReason](type-aliases/RemovalReason.md) +- [RemoveRelationshipOptions](type-aliases/RemoveRelationshipOptions.md) +- [ReplyToCommentOptions](type-aliases/ReplyToCommentOptions.md) +- [RichTextContent](type-aliases/RichTextContent.md) +- [RunJob](type-aliases/RunJob.md) +- [ScheduledCronJob](type-aliases/ScheduledCronJob.md) +- [ScheduledCronJobOptions](type-aliases/ScheduledCronJobOptions.md) +- [ScheduledJob](type-aliases/ScheduledJob.md) +- [ScheduledJobEvent](type-aliases/ScheduledJobEvent.md) +- [ScheduledJobHandler](type-aliases/ScheduledJobHandler.md) +- [ScheduledJobOptions](type-aliases/ScheduledJobOptions.md) +- [ScheduledJobType](type-aliases/ScheduledJobType.md) +- [Scheduler](type-aliases/Scheduler.md) +- [SecureMedia](type-aliases/SecureMedia.md) +- [SelectField](type-aliases/SelectField.md) +- [SendPrivateMessageAsSubredditOptions](type-aliases/SendPrivateMessageAsSubredditOptions.md) +- [SendPrivateMessageOptions](type-aliases/SendPrivateMessageOptions.md) +- [SetFlairOptions](type-aliases/SetFlairOptions.md) +- [SetOptions](type-aliases/SetOptions.md) +- [SetPostFlairOptions](type-aliases/SetPostFlairOptions.md) +- [SettingScopeType](type-aliases/SettingScopeType.md) +- [SettingsFormField](type-aliases/SettingsFormField.md) +- [SettingsFormFieldGroup](type-aliases/SettingsFormFieldGroup.md) +- [SettingsFormFieldValidatorEvent](type-aliases/SettingsFormFieldValidatorEvent.md) +- [SettingsValues](type-aliases/SettingsValues.md) +- [SetUserFlairBatchConfig](type-aliases/SetUserFlairBatchConfig.md) +- [SetUserFlairOptions](type-aliases/SetUserFlairOptions.md) +- [SpoilerContainer](type-aliases/SpoilerContainer.md) +- [SpoilerText](type-aliases/SpoilerText.md) +- [StringField](type-aliases/StringField.md) +- [SubmitCustomPostOptions](type-aliases/SubmitCustomPostOptions.md) +- [SubmitLinkOptions](type-aliases/SubmitLinkOptions.md) +- [SubmitMediaOptions](type-aliases/SubmitMediaOptions.md) +- [SubmitPostOptions](type-aliases/SubmitPostOptions.md) +- [SubmitSelfPostOptions](type-aliases/SubmitSelfPostOptions.md) +- [SubredditData](type-aliases/SubredditData.md) +- [SubredditInfo](type-aliases/SubredditInfo.md) +- [SubredditLeaderboard](type-aliases/SubredditLeaderboard.md) +- [SubredditLeaderboardSummary](type-aliases/SubredditLeaderboardSummary.md) +- [SubredditLeaderboardSummaryRow](type-aliases/SubredditLeaderboardSummaryRow.md) +- [SubredditLink](type-aliases/SubredditLink.md) +- [SubredditLinkOptions](type-aliases/SubredditLinkOptions.md) +- [SubredditOptions](type-aliases/SubredditOptions.md) +- [SubredditSettings](type-aliases/SubredditSettings.md) +- [SubredditSettingsOptions](type-aliases/SubredditSettingsOptions.md) +- [SubredditStyles](type-aliases/SubredditStyles.md) +- [SubredditType](type-aliases/SubredditType.md) +- [Table](type-aliases/Table.md) +- [TableCell](type-aliases/TableCell.md) +- [TableCellContainer](type-aliases/TableCellContainer.md) +- [TableCellText](type-aliases/TableCellText.md) +- [TableContainer](type-aliases/TableContainer.md) +- [TableContentContainer](type-aliases/TableContentContainer.md) +- [TableHeaderCell](type-aliases/TableHeaderCell.md) +- [TableHeaderCellContext](type-aliases/TableHeaderCellContext.md) +- [TableHeaderCellOptions](type-aliases/TableHeaderCellOptions.md) +- [TableHeaderRow](type-aliases/TableHeaderRow.md) +- [TableRow](type-aliases/TableRow.md) +- [Text](type-aliases/Text.md) +- [TextContainer](type-aliases/TextContainer.md) +- [TextNode](type-aliases/TextNode.md) +- [TextOptions](type-aliases/TextOptions.md) +- [Toast](type-aliases/Toast.md) +- [TriggerContext](type-aliases/TriggerContext.md) +- [TriggerDefinition](type-aliases/TriggerDefinition.md) +- [TriggerEvent](type-aliases/TriggerEvent.md) +- [TriggerEventType](type-aliases/TriggerEventType.md) +- [TriggerOnEventHandler](type-aliases/TriggerOnEventHandler.md) +- [Trophy](type-aliases/Trophy.md) +- [UIClient](type-aliases/UIClient.md) +- [UnreadCountResponse](type-aliases/UnreadCountResponse.md) +- [UpdatePageSettingsOptions](type-aliases/UpdatePageSettingsOptions.md) +- [UpdateRuleOptions](type-aliases/UpdateRuleOptions.md) +- [UpdateWidgetData](type-aliases/UpdateWidgetData.md) +- [UpdateWikiPageOptions](type-aliases/UpdateWikiPageOptions.md) +- [UploadMediaOptions](type-aliases/UploadMediaOptions.md) +- [UrlString](type-aliases/UrlString.md) +- [UserFlair](type-aliases/UserFlair.md) +- [UserFlairPageOptions](type-aliases/UserFlairPageOptions.md) +- [UserLink](type-aliases/UserLink.md) +- [UserLinkOptions](type-aliases/UserLinkOptions.md) +- [UserMention](type-aliases/UserMention.md) +- [UserMentionOptions](type-aliases/UserMentionOptions.md) +- [UserNote](type-aliases/UserNote.md) +- [UserNoteLabel](type-aliases/UserNoteLabel.md) +- [UserSocialLink](type-aliases/UserSocialLink.md) +- [ValidatedBooleanField](type-aliases/ValidatedBooleanField.md) +- [ValidatedFormField](type-aliases/ValidatedFormField.md) +- [ValidatedNumberField](type-aliases/ValidatedNumberField.md) +- [ValidatedParagraphField](type-aliases/ValidatedParagraphField.md) +- [ValidatedSelectField](type-aliases/ValidatedSelectField.md) +- [ValidatedStringField](type-aliases/ValidatedStringField.md) +- [Vault](type-aliases/Vault.md) +- [Video](type-aliases/Video.md) +- [VideoContainer](type-aliases/VideoContainer.md) +- [VideoOptions](type-aliases/VideoOptions.md) +- [Visibility](type-aliases/Visibility.md) +- [WikiEditMode](type-aliases/WikiEditMode.md) +- [WikiPageRevisionId](type-aliases/WikiPageRevisionId.md) +- [WithUserData](type-aliases/WithUserData.md) +- [ZMember](type-aliases/ZMember.md) +- [ZRangeByScoreOptions](type-aliases/ZRangeByScoreOptions.md) +- [ZRangeOptions](type-aliases/ZRangeOptions.md) + +## Variables + +- [ANIMATED\_IMAGE\_ELEMENT](variables/ANIMATED_IMAGE_ELEMENT.md) +- [BLOCK\_QUOTE\_ELEMENT](variables/BLOCK_QUOTE_ELEMENT.md) +- [CODE\_BLOCK\_ELEMENT](variables/CODE_BLOCK_ELEMENT.md) +- [COLUMN\_ALIGN\_CENTER](variables/COLUMN_ALIGN_CENTER.md) +- [COLUMN\_ALIGN\_LEFT](variables/COLUMN_ALIGN_LEFT.md) +- [COLUMN\_ALIGN\_RIGHT](variables/COLUMN_ALIGN_RIGHT.md) +- [COMMENT\_LINK\_ELEMENT](variables/COMMENT_LINK_ELEMENT.md) +- [EMBED\_ELEMENT](variables/EMBED_ELEMENT.md) +- [GalleryMediaStatus](variables/GalleryMediaStatus.md) +- [HEADING\_ELEMENT](variables/HEADING_ELEMENT.md) +- [HORIZONTAL\_RULE\_ELEMENT](variables/HORIZONTAL_RULE_ELEMENT.md) +- [IMAGE\_ELEMENT](variables/IMAGE_ELEMENT.md) +- [LINEBREAK\_ELEMENT](variables/LINEBREAK_ELEMENT.md) +- [LINK\_ELEMENT](variables/LINK_ELEMENT.md) +- [LIST\_ELEMENT](variables/LIST_ELEMENT.md) +- [LIST\_ITEM\_ELEMENT](variables/LIST_ITEM_ELEMENT.md) +- [PARAGRAPH\_ELEMENT](variables/PARAGRAPH_ELEMENT.md) +- [POST\_LINK\_ELEMENT](variables/POST_LINK_ELEMENT.md) +- [RAW\_TEXT\_ELEMENT](variables/RAW_TEXT_ELEMENT.md) +- [reddit](variables/reddit.md) +- [SPOILER\_TEXT\_ELEMENT](variables/SPOILER_TEXT_ELEMENT.md) +- [SUBREDDIT\_LINK\_ELEMENT](variables/SUBREDDIT_LINK_ELEMENT.md) +- [TABLE\_ELEMENT](variables/TABLE_ELEMENT.md) +- [TEXT\_ELEMENT](variables/TEXT_ELEMENT.md) +- [USER\_LINK\_ELEMENT](variables/USER_LINK_ELEMENT.md) +- [USER\_MENTION\_ELEMENT](variables/USER_MENTION_ELEMENT.md) +- [VIDEO\_ELEMENT](variables/VIDEO_ELEMENT.md) + +## Functions + +- [getModerationLog](functions/getModerationLog.md) +- [getSubredditInfoById](functions/getSubredditInfoById.md) +- [getSubredditInfoByName](functions/getSubredditInfoByName.md) +- [getSubredditLeaderboard](functions/getSubredditLeaderboard.md) +- [getSubredditStyles](functions/getSubredditStyles.md) +- [getVaultByAddress](functions/getVaultByAddress.md) +- [getVaultByUserId](functions/getVaultByUserId.md) + +## References + + + +### OEmbed + +Renames and re-exports [Oembed](type-aliases/Oembed.md) diff --git a/versioned_docs/version-0.14/api/public-api/classes/AuthorFlairSettings.md b/versioned_docs/version-0.14/api/public-api/classes/AuthorFlairSettings.md new file mode 100644 index 00000000..7ff3e8c0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/AuthorFlairSettings.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: AuthorFlairSettings + +## Constructors + + + +### new AuthorFlairSettings() + +> **new AuthorFlairSettings**(): `AuthorFlairSettings` + +#### Returns + +`AuthorFlairSettings` + +## Properties + + + +### isEnabled? + +> `optional` **isEnabled**: `boolean` + +*** + + + +### isSelfAssignabled? + +> `optional` **isSelfAssignabled**: `boolean` diff --git a/versioned_docs/version-0.14/api/public-api/classes/ButtonWidget.md b/versioned_docs/version-0.14/api/public-api/classes/ButtonWidget.md new file mode 100644 index 00000000..0f3d91c3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/ButtonWidget.md @@ -0,0 +1,163 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: ButtonWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new ButtonWidget() + +> **new ButtonWidget**(`widgetData`, `subredditName`): `ButtonWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`ButtonWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### buttons + +#### Get Signature + +> **get** **buttons**(): `WidgetButton`[] + +##### Returns + +`WidgetButton`[] + +*** + + + +### description + +#### Get Signature + +> **get** **description**(): `string` + +##### Returns + +`string` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`ButtonWidget`, `"description"` \| `"styles"` \| `"buttons"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`ButtonWidget`, `"description"` \| `"styles"` \| `"buttons"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/CalendarWidget.md b/versioned_docs/version-0.14/api/public-api/classes/CalendarWidget.md new file mode 100644 index 00000000..55af81c2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/CalendarWidget.md @@ -0,0 +1,163 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: CalendarWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new CalendarWidget() + +> **new CalendarWidget**(`widgetData`, `subredditName`): `CalendarWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`CalendarWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### configuration + +#### Get Signature + +> **get** **configuration**(): `CalendarWidgetConfiguration` + +##### Returns + +`CalendarWidgetConfiguration` + +*** + + + +### googleCalendarId + +#### Get Signature + +> **get** **googleCalendarId**(): `string` + +##### Returns + +`string` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`CalendarWidget`, `"googleCalendarId"` \| `"configuration"` \| `"styles"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`CalendarWidget`, `"googleCalendarId"` \| `"configuration"` \| `"styles"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/Comment.md b/versioned_docs/version-0.14/api/public-api/classes/Comment.md new file mode 100644 index 00000000..5205c213 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Comment.md @@ -0,0 +1,835 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Comment + +## Constructors + + + +### new Comment() + +> **new Comment**(): `Comment` + +#### Returns + +`Comment` + +## Accessors + + + +### approved + +#### Get Signature + +> **get** **approved**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### approvedAtUtc + +#### Get Signature + +> **get** **approvedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### authorFlair + +#### Get Signature + +> **get** **authorFlair**(): `undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +##### Returns + +`undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +*** + + + +### authorId + +#### Get Signature + +> **get** **authorId**(): `undefined` \| `` `t2_${string}` `` + +##### Returns + +`undefined` \| `` `t2_${string}` `` + +*** + + + +### authorName + +#### Get Signature + +> **get** **authorName**(): `string` + +##### Returns + +`string` + +*** + + + +### bannedAtUtc + +#### Get Signature + +> **get** **bannedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### body + +#### Get Signature + +> **get** **body**(): `string` + +##### Returns + +`string` + +*** + + + +### collapsedBecauseCrowdControl + +#### Get Signature + +> **get** **collapsedBecauseCrowdControl**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +##### Returns + +`Date` + +*** + + + +### distinguishedBy + +#### Get Signature + +> **get** **distinguishedBy**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### edited + +#### Get Signature + +> **get** **edited**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t1_${string}` `` + +##### Returns + +`` `t1_${string}` `` + +*** + + + +### ignoringReports + +#### Get Signature + +> **get** **ignoringReports**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### locked + +#### Get Signature + +> **get** **locked**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### modReportReasons + +#### Get Signature + +> **get** **modReportReasons**(): `string`[] + +##### Deprecated + +Use [modReports](#modreports) to retain each report's author. + +##### Returns + +`string`[] + +*** + + + +### modReports + +#### Get Signature + +> **get** **modReports**(): [`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +##### Returns + +[`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +*** + + + +### numReports + +#### Get Signature + +> **get** **numReports**(): `number` + +##### Returns + +`number` + +*** + + + +### parentId + +#### Get Signature + +> **get** **parentId**(): `` `t3_${string}` `` \| `` `t1_${string}` `` + +##### Returns + +`` `t3_${string}` `` \| `` `t1_${string}` `` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +##### Returns + +`string` + +*** + + + +### postId + +#### Get Signature + +> **get** **postId**(): `` `t3_${string}` `` + +##### Returns + +`` `t3_${string}` `` + +*** + + + +### removed + +#### Get Signature + +> **get** **removed**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### replies + +#### Get Signature + +> **get** **replies**(): [`Listing`](Listing.md)\<`Comment`\> + +##### Returns + +[`Listing`](Listing.md)\<`Comment`\> + +*** + + + +### score + +#### Get Signature + +> **get** **score**(): `number` + +##### Returns + +`number` + +*** + + + +### spam + +#### Get Signature + +> **get** **spam**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### stickied + +#### Get Signature + +> **get** **stickied**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### subredditId + +#### Get Signature + +> **get** **subredditId**(): `` `t5_${string}` `` + +##### Returns + +`` `t5_${string}` `` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +##### Returns + +`string` + +*** + + + +### userReportReasons + +#### Get Signature + +> **get** **userReportReasons**(): `string`[] + +##### Returns + +`string`[] + +## Methods + + + +### addRemovalNote() + +> **addRemovalNote**(`opts`): `Promise`\<`void`\> + +Add a mod note for why the comment was removed + +#### Parameters + +##### opts + +###### modNote? + +`string` + +###### reasonId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approve() + +> **approve**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguish() + +> **distinguish**(`makeSticky`?): `Promise`\<`void`\> + +#### Parameters + +##### makeSticky? + +`boolean` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguishAsAdmin() + +> **distinguishAsAdmin**(`makeSticky`?): `Promise`\<`void`\> + +#### Parameters + +##### makeSticky? + +`boolean` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### edit() + +> **edit**(`opts`): `Promise`\<`Comment`\> + +#### Parameters + +##### opts + +`Readonly`\<[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md)\> + +#### Returns + +`Promise`\<`Comment`\> + +*** + + + +### filter() + +> **filter**(`options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters the comment. When a comment is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the comment was filtered successfully. + +*** + + + +### getAuthor() + +> **getAuthor**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +*** + + + +### ignoreReports() + +> **ignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### isApproved() + +> **isApproved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isDistinguished() + +> **isDistinguished**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isEdited() + +> **isEdited**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isIgnoringReports() + +> **isIgnoringReports**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isLocked() + +> **isLocked**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isRemoved() + +> **isRemoved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isSpam() + +> **isSpam**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isStickied() + +> **isStickied**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### lock() + +> **lock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### remove() + +> **remove**(`isSpam`?): `Promise`\<`void`\> + +#### Parameters + +##### isSpam? + +`boolean` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reply() + +> **reply**(`opts`): `Promise`\<`Comment`\> + +#### Parameters + +##### opts + +`Readonly`\<[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md)\> + +#### Returns + +`Promise`\<`Comment`\> + +*** + + + +### showComment() + +> **showComment**(): `Promise`\<`void`\> + +Marks that this comment should not be collapsed by the crowd control system. +It can still be collapsed for other reasons. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### snoozeReports() + +> **snoozeReports**(`reason`): `Promise`\<`void`\> + +Snooze subsequent reports with the given reason from the same users for the next 7 days. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to snooze. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Comment`, `"postId"` \| `"subredditName"` \| `"id"` \| `"subredditId"` \| `"permalink"` \| `"url"` \| `"createdAt"` \| `"authorName"` \| `"body"` \| `"score"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"edited"` \| `"locked"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"authorFlair"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"parentId"` \| `"replies"` \| `"numReports"` \| `"collapsedBecauseCrowdControl"`\> + +#### Returns + +`Pick`\<`Comment`, `"postId"` \| `"subredditName"` \| `"id"` \| `"subredditId"` \| `"permalink"` \| `"url"` \| `"createdAt"` \| `"authorName"` \| `"body"` \| `"score"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"edited"` \| `"locked"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"authorFlair"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"parentId"` \| `"replies"` \| `"numReports"` \| `"collapsedBecauseCrowdControl"`\> + +*** + + + +### undistinguish() + +> **undistinguish**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unignoreReports() + +> **unignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unlock() + +> **unlock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsnoozeReports() + +> **unsnoozeReports**(`reason`): `Promise`\<`void`\> + +Unsnooze reports with the given reason. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to unsnooze. + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/CommunityListWidget.md b/versioned_docs/version-0.14/api/public-api/classes/CommunityListWidget.md new file mode 100644 index 00000000..ecdac149 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/CommunityListWidget.md @@ -0,0 +1,149 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: CommunityListWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new CommunityListWidget() + +> **new CommunityListWidget**(`widgetData`, `subredditName`): `CommunityListWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`CommunityListWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### communities + +#### Get Signature + +> **get** **communities**(): `CommunityListWidget_CommunityData`[] + +##### Returns + +`CommunityListWidget_CommunityData`[] + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`CommunityListWidget`, `"styles"` \| `"communities"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`CommunityListWidget`, `"styles"` \| `"communities"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/CustomWidget.md b/versioned_docs/version-0.14/api/public-api/classes/CustomWidget.md new file mode 100644 index 00000000..a629d857 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/CustomWidget.md @@ -0,0 +1,191 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: CustomWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new CustomWidget() + +> **new CustomWidget**(`widgetData`, `subredditName`): `CustomWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`CustomWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### css + +#### Get Signature + +> **get** **css**(): `string` + +##### Returns + +`string` + +*** + + + +### height + +#### Get Signature + +> **get** **height**(): `number` + +##### Returns + +`number` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### images + +#### Get Signature + +> **get** **images**(): `WidgetImage`[] + +##### Returns + +`WidgetImage`[] + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### stylesheetUrl + +#### Get Signature + +> **get** **stylesheetUrl**(): `string` + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +*** + + + +### text + +#### Get Signature + +> **get** **text**(): `string` + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`CustomWidget`, `"text"` \| `"images"` \| `"stylesheetUrl"` \| `"height"` \| `"css"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`CustomWidget`, `"text"` \| `"images"` \| `"stylesheetUrl"` \| `"height"` \| `"css"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/Devvit.md b/versioned_docs/version-0.14/api/public-api/classes/Devvit.md new file mode 100644 index 00000000..05e5ee32 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Devvit.md @@ -0,0 +1,372 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Devvit + +## Extends + +- `Actor` + +## Properties + + + +### debug + +> `static` **debug**: [`DevvitDebug`](../type-aliases/DevvitDebug.md) = `{}` + +## Methods + + + +### addMenuItem() + +> `static` **addMenuItem**(`item`): `void` + +Add a menu item to the Reddit UI. + +#### Parameters + +##### item + +[`MenuItem`](../type-aliases/MenuItem.md) + +The menu item to add. + +#### Returns + +`void` + +#### Example + +```ts +Devvit.addMenuItem({ + label: 'My Menu Item', + location: 'subreddit', + onPress: (event, context) => { + const location = event.location; + const targetId = event.targetId; + context.ui.showToast(`You clicked on ${location} ${targetId}`); + } +}); +``` + +*** + + + +### addSchedulerJob() + +> `static` **addSchedulerJob**\<`T`\>(`job`): `void` + +Add a scheduled job type for your app. This will allow you to schedule jobs using the `scheduler` API. + +#### Type Parameters + +##### T + +`T` *extends* `undefined` \| [`JSONObject`](../type-aliases/JSONObject.md) + +#### Parameters + +##### job + +[`ScheduledJobType`](../type-aliases/ScheduledJobType.md)\<`T`\> + +The scheduled job type to add. + +#### Returns + +`void` + +#### Example + +```ts +Devvit.addSchedulerJob({ + name: 'checkNewPosts', + onRun: async (event, context) => { + const newPosts = await context.reddit.getNewPosts({ limit: 5 }).all(); + for (const post of newPosts) { + if (post.title.includes('bad word')) { + await post.remove(); + } + } + } +}); + +Devvit.addMenuItem({ + label: 'Check for new posts', + location: 'location', + onPress: (event, context) => { + const = await context.scheduler.runJob({ + name: 'checkNewPosts', + when: new Date(Date.now() + 5000) // in 5 seconds + }); + } +}); +``` + +*** + + + +### addSettings() + +> `static` **addSettings**(`fields`): `void` + +Add settings that can be configured to customize the behavior of your app. + +There are two levels of settings: +- App settings (scope: 'app') +- Installation settings (scope: 'installation' or unspecified scope). + +Installation settings are meant to be configured by the user that installs your app. +This is a good place to add anything that a user might want to change to personalize the app (e.g. the default city to show the weather for or a +specific sport team that a subreddit follows). Note that these are good for subreddit level customization but not necessarily good for things +that might be different for two users in a subreddit (e.g. setting the default city to show the weather for is only useful at a sub level if +the sub is for a specific city or region). +Installation settings can be viewed and configured here: https://developers.reddit.com/r/subreddit-name/apps/app-name. + +App settings can be accessed and consumed by all installations of the app. This is mainly useful for developer secrets/API keys that your +app needs to function. They can only be changed/viewed by you via the CLI (devvit settings set and devvit settings list). This ensures secrets +are persisted in an encrypted store and don't get committed in the source code. + +Warning: You should never paste your actual key into any fields passed into Devvit.addSettings - this is merely where you state what your API key's name and description are. You will be able to set the actual value of the key via CLI. + +Note: setting names must be unique across all settings. + +#### Parameters + +##### fields + +Fields for the app and installation settings. + +[`SettingsFormField`](../type-aliases/SettingsFormField.md) | [`SettingsFormField`](../type-aliases/SettingsFormField.md)[] + +#### Returns + +`void` + +#### Examples + +```ts +Devvit.addSettings([ + { + type: 'string', + name: 'weather-api-key', + label: 'My weather.com API key', + scope: SettingScope.App, + isSecret: true + }, + { + type: 'string', + name: 'Default City', + label: 'Default city to show the weather for by default', + scope: SettingScope.Installation, + onValidate: ({ value }) => { + if (!isValidCity(value)) { + return 'You must ender a valid city: ${validCities.join(", ")}'; + } + } + }, + { + type: 'number', + name: 'Default Forecast Window (in days)', + label: 'The number of days to show for forecast for by default', + scope: SettingScope.Installation, + onValidate: ({ value }) => { + if (value > 10 || value < 1) { + return 'Forecast window must be from 1 to 10 days'; + } + } + }, +]); +``` + +```ts +Devvit.addSettings({ + type: 'string', + name: 'weather-api-key', + label: 'My weather.com API key', + scope: SettingScope.App, + isSecret: true +}); +``` + +*** + + + +### addTrigger() + +#### Call Signature + +> `static` **addTrigger**\<`T`\>(`definition`): *typeof* [`Devvit`](../@devvit/namespaces/Devvit/README.md) + +Add a trigger handler that will be invoked when the given event +occurs in a subreddit where the app is installed. + +##### Type Parameters + +###### T + +`T` *extends* keyof [`TriggerEventType`](../type-aliases/TriggerEventType.md) + +##### Parameters + +###### definition + +The trigger definition. + +###### event + +`T` + +The event to listen for. + +###### onEvent + +[`TriggerOnEventHandler`](../type-aliases/TriggerOnEventHandler.md)\<[`TriggerEventType`](../type-aliases/TriggerEventType.md)\[`T`\]\> + +The function to call when the event happens. + +##### Returns + +*typeof* [`Devvit`](../@devvit/namespaces/Devvit/README.md) + +##### Example + +```ts +Devvit.addTrigger({ + event: 'PostSubmit', + async onEvent(event, context) { + console.log("a new post was created!") + } +}); + +Devvit.addTrigger({ + events: ['PostSubmit', 'PostReport'], + async onEvent(event, context){ + if (event.type === 'PostSubmit') { + console.log("a new post was created!") + } else if (event.type === 'PostReport') { + console.log("a post was reported!") + } + } +}); +``` + +#### Call Signature + +> `static` **addTrigger**\<`Event`\>(`triggerDefinition`): *typeof* [`Devvit`](../@devvit/namespaces/Devvit/README.md) + +Add a trigger handler that will be invoked when the given event +occurs in a subreddit where the app is installed. + +##### Type Parameters + +###### Event + +`Event` *extends* [`TriggerEvent`](../type-aliases/TriggerEvent.md) + +##### Parameters + +###### triggerDefinition + +[`MultiTriggerDefinition`](../type-aliases/MultiTriggerDefinition.md)\<`Event`\> + +##### Returns + +*typeof* [`Devvit`](../@devvit/namespaces/Devvit/README.md) + +##### Example + +```ts +Devvit.addTrigger({ + event: 'PostSubmit', + async onEvent(event, context) { + console.log("a new post was created!") + } +}); + +Devvit.addTrigger({ + events: ['PostSubmit', 'PostReport'], + async onEvent(event, context){ + if (event.type === 'PostSubmit') { + console.log("a new post was created!") + } else if (event.type === 'PostReport') { + console.log("a post was reported!") + } + } +}); +``` + +*** + + + +### configure() + +> `static` **configure**(`config`): `void` + +To use certain APIs and features of Devvit, you must enable them using this function. + +#### Parameters + +##### config + +[`Configuration`](../type-aliases/Configuration.md) + +The configuration object. + +#### Returns + +`void` + +#### Example + +```ts +Devvit.configure({ + http: true, + redditAPI: true, + redis: true, + media: true +}); +``` + +*** + + + +### createForm() + +> `static` **createForm**\<`T`\>(`form`, `onSubmit`): [`FormKey`](../type-aliases/FormKey.md) + +Create a form that can be opened from menu items. + +#### Type Parameters + +##### T + +`T` *extends* [`Form`](../type-aliases/Form.md) \| [`FormFunction`](../type-aliases/FormFunction.md) + +#### Parameters + +##### form + +`T` + +The form or a function that returns the form. + +##### onSubmit + +[`FormOnSubmitEventHandler`](../type-aliases/FormOnSubmitEventHandler.md)\<[`FormToFormValues`](../type-aliases/FormToFormValues.md)\<`T`\>\> + +The function to call when the form is submitted. + +#### Returns + +[`FormKey`](../type-aliases/FormKey.md) + +A unique key for the form that can used with `ui.showForm`. diff --git a/versioned_docs/version-0.14/api/public-api/classes/Flair.md b/versioned_docs/version-0.14/api/public-api/classes/Flair.md new file mode 100644 index 00000000..5ef760b0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Flair.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Flair + +## Constructors + + + +### new Flair() + +> **new Flair**(): `Flair` + +#### Returns + +`Flair` diff --git a/versioned_docs/version-0.14/api/public-api/classes/FlairTemplate.md b/versioned_docs/version-0.14/api/public-api/classes/FlairTemplate.md new file mode 100644 index 00000000..2d8ed09d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/FlairTemplate.md @@ -0,0 +1,179 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: FlairTemplate + +## Constructors + + + +### new FlairTemplate() + +> **new FlairTemplate**(): `FlairTemplate` + +#### Returns + +`FlairTemplate` + +## Accessors + + + +### allowableContent + +#### Get Signature + +> **get** **allowableContent**(): [`AllowableFlairContent`](../type-aliases/AllowableFlairContent.md) + +The flair template's allowable content. Either 'all', 'emoji', or 'text'. + +##### Returns + +[`AllowableFlairContent`](../type-aliases/AllowableFlairContent.md) + +*** + + + +### allowUserEdits + +#### Get Signature + +> **get** **allowUserEdits**(): `boolean` + +Does the flair template allow users to edit their flair? + +##### Returns + +`boolean` + +*** + + + +### backgroundColor + +#### Get Signature + +> **get** **backgroundColor**(): [`FlairBackgroundColor`](../type-aliases/FlairBackgroundColor.md) + +The flair template's background color. Either 'transparent' or a hex color code. e.g. #FFC0CB + +##### Returns + +[`FlairBackgroundColor`](../type-aliases/FlairBackgroundColor.md) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +The flair template's ID + +##### Returns + +`string` + +*** + + + +### maxEmojis + +#### Get Signature + +> **get** **maxEmojis**(): `number` + +The flair template's maximum number of emojis. + +##### Returns + +`number` + +*** + + + +### modOnly + +#### Get Signature + +> **get** **modOnly**(): `boolean` + +Is the flair template only available to moderators? + +##### Returns + +`boolean` + +*** + + + +### text + +#### Get Signature + +> **get** **text**(): `string` + +The flair template's text + +##### Returns + +`string` + +*** + + + +### textColor + +#### Get Signature + +> **get** **textColor**(): [`FlairTextColor`](../type-aliases/FlairTextColor.md) + +The flair template's text color. Either 'dark' or 'light'. + +##### Returns + +[`FlairTextColor`](../type-aliases/FlairTextColor.md) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +Delete this flair template + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### edit() + +> **edit**(`options`): `Promise`\<`FlairTemplate`\> + +Edit this flair template + +#### Parameters + +##### options + +`Partial`\<`Omit`\<[`EditFlairTemplateOptions`](../type-aliases/EditFlairTemplateOptions.md), `"subredditName"` \| `"id"`\>\> + +#### Returns + +`Promise`\<`FlairTemplate`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/ImageWidget.md b/versioned_docs/version-0.14/api/public-api/classes/ImageWidget.md new file mode 100644 index 00000000..f6c1413c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/ImageWidget.md @@ -0,0 +1,135 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: ImageWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new ImageWidget() + +> **new ImageWidget**(`widgetData`, `subredditName`): `ImageWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`ImageWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### images + +#### Get Signature + +> **get** **images**(): `WidgetImage`[] + +##### Returns + +`WidgetImage`[] + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`ImageWidget`, `"images"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`ImageWidget`, `"images"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/Listing.md b/versioned_docs/version-0.14/api/public-api/classes/Listing.md new file mode 100644 index 00000000..01a49373 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Listing.md @@ -0,0 +1,133 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Listing\ + +## Type Parameters + +### T + +`T` + +## Constructors + + + +### new Listing() + +> **new Listing**\<`T`\>(): `Listing`\<`T`\> + +#### Returns + +`Listing`\<`T`\> + +## Properties + + + +### children + +> **children**: `T`[] + +*** + + + +### limit + +> **limit**: `number` + +*** + + + +### pageSize + +> **pageSize**: `number` + +## Accessors + + + +### hasMore + +#### Get Signature + +> **get** **hasMore**(): `boolean` + +##### Returns + +`boolean` + +## Methods + + + +### \[asyncIterator\]() + +> **\[asyncIterator\]**(): `AsyncIterator`\<`T`\> + +#### Returns + +`AsyncIterator`\<`T`\> + +*** + + + +### all() + +> **all**(): `Promise`\<`T`[]\> + +#### Returns + +`Promise`\<`T`[]\> + +*** + + + +### get() + +> **get**(`count`): `Promise`\<`T`[]\> + +#### Parameters + +##### count + +`number` + +#### Returns + +`Promise`\<`T`[]\> + +*** + + + +### preventInitialFetch() + +> **preventInitialFetch**(): `void` + +#### Returns + +`void` + +*** + + + +### setMore() + +> **setMore**(`more`): `void` + +#### Parameters + +##### more + +`undefined` | [`MoreObject`](../type-aliases/MoreObject.md) + +#### Returns + +`void` diff --git a/versioned_docs/version-0.14/api/public-api/classes/ModMailService.md b/versioned_docs/version-0.14/api/public-api/classes/ModMailService.md new file mode 100644 index 00000000..29c15c3a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/ModMailService.md @@ -0,0 +1,838 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: ModMailService + +Class providing the methods for working with Mod Mail + +## Constructors + + + +### new ModMailService() + +> **new ModMailService**(): `ModMailService` + +#### Returns + +`ModMailService` + +## Properties + + + +### notificationSubjectPrefix + +> `readonly` **notificationSubjectPrefix**: `"[notification]"` = `"[notification]"` + +## Methods + + + +### approveConversation() + +> **approveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Approve the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.approveConversation('abcdef'); +``` + +*** + + + +### archiveConversation() + +> **archiveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Marks a conversation as archived + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.archive('abcdef'); +``` + +*** + + + +### bulkReadConversations() + +> **bulkReadConversations**(`subreddits`, `state`): `Promise`\<`string`[]\> + +Marks all conversations read for a particular conversation state within the passed list of subreddits. + +#### Parameters + +##### subreddits + +`string`[] + +Array of subreddit names + +##### state + +[`ConversationStateFilter`](../type-aliases/ConversationStateFilter.md) + +One of the possible conversation states ('all' to read all conversations) + +#### Returns + +`Promise`\<`string`[]\> + +conversationIds + +#### Example + +```ts +const conversationIds = await reddit.modMail.bulkReadConversations( + ['askReddit', 'myAwesomeSubreddit'], + 'filtered' +); +``` + +*** + + + +### createConversation() + +> **createConversation**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Creates a new conversation for a particular SR. + +This endpoint will create a ModmailConversation object +as well as the first ModmailMessage within the ModmailConversation object. + +#### Parameters + +##### params + +###### body + +`string` + +markdown text + +###### isAuthorHidden? + +`boolean` + +is author hidden? (default: false) + +###### subject + +`string` + +subject of the conversation. max 100 characters + +###### subredditName + +`string` + +subreddit name + +###### to? + +`null` \| `string` + +a user (e.g. u/username), a subreddit (e.g. r/subreddit) or null + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Note + +Note on {param.to}: +The to field for this endpoint is somewhat confusing. It can be: +- A User, passed like "username" or "u/username" +- A Subreddit, passed like "r/subreddit" +- null, meaning an internal moderator discussion + +In this way to is a bit of a misnomer in modmail conversations. +What it really means is the participant of the conversation who is not a mod of the subreddit. + +If you plan to send a message to the app-account or a moderator of the subreddit, use [ModMailService.createModDiscussionConversation](#createmoddiscussionconversation), [ModMailService.createModInboxConversation](#createmodinboxconversation), or [ModMailService.createModNotification](#createmodnotification) instead. +Otherwise, messages sent to the app-account or moderator will automatically be routed to Mod Discussions. + +#### Example + +```ts +const { conversation, messages, modActions } = await reddit.modMail.createConversation({ + subredditName: 'askReddit', + subject: 'Test conversation', + body: 'Lorem ipsum sit amet', + to: null, +}); +``` + +*** + + + +### createModDiscussionConversation() + +> **createModDiscussionConversation**(`params`): `Promise`\<`string`\> + +Creates a conversation in Mod Discussions with the moderators of the given subredditId. + +Note: The app must be installed in the subreddit in order to create a conversation in Mod Discussions. + +#### Parameters + +##### params + +###### bodyMarkdown + +`string` + +The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`. + +###### subject + +`string` + +The subject of the message. + +###### subredditId + +`` `t5_${string}` `` + +The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the conversationId of the message. + +#### Example + +```ts +const conversationId = await reddit.modMail.createModDiscussionConversation({ + subject: 'Test conversation', + bodyMarkdown: '**Hello there** \n\n _Have a great day!_', + subredditId: context.subredditId +}); +``` + +*** + + + +### createModInboxConversation() + +> **createModInboxConversation**(`params`): `Promise`\<`string`\> + +Creates a conversation in the Modmail Inbox with the moderators of the given subredditId. + +#### Parameters + +##### params + +###### bodyMarkdown + +`string` + +The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`. + +###### subject + +`string` + +The subject of the message. + +###### subredditId + +`` `t5_${string}` `` + +The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the conversationId of the message. + +#### Example + +```ts +const conversationId = await reddit.modMail.createModInboxConversation({ + subject: 'Test conversation', + bodyMarkdown: '**Hello there** \n\n _Have a great day!_', + subredditId: context.subredditId +}); +``` + +*** + + + +### createModNotification() + +> **createModNotification**(`params`): `Promise`\<`string`\> + +Creates a notification in the Modmail Inbox. +This function is different from [ModMailService.createModInboxConversation](#createmodinboxconversation) in that the conversation also appears in the "Notifications" section of Modmail. + +#### Parameters + +##### params + +###### bodyMarkdown + +`string` + +The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`. + +###### subject + +`string` + +The subject of the message. + +###### subredditId + +`` `t5_${string}` `` + +The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the conversationId of the message. + +#### Example + +```ts +const conversationId = await reddit.modMail.createModNotification({ + subject: 'Test notification', + bodyMarkdown: '**Hello there** \n\n _This is a notification!_', + subredditId: context.subredditId +}); +``` + +*** + + + +### disapproveConversation() + +> **disapproveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Disapprove the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.disapproveConversation('abcdef'); +``` + +*** + + + +### getConversation() + +> **getConversation**(`params`): `Promise`\<[`GetConversationResponse`](../type-aliases/GetConversationResponse.md)\> + +Returns all messages, mod actions and conversation metadata for a given conversation id + +#### Parameters + +##### params + +###### conversationId + +`string` + +a modmail conversation id + +###### markRead? + +`boolean` + +mark read? + +#### Returns + +`Promise`\<[`GetConversationResponse`](../type-aliases/GetConversationResponse.md)\> + +#### Example + +```ts +const { conversation, messages, modActions, user } = await reddit.modMail.getConversation({ conversationId: 'abcdef', markRead: true }); +``` + +*** + + + +### getConversations() + +> **getConversations**(`params`): `Promise`\<[`GetConversationsResponse`](../type-aliases/GetConversationsResponse.md)\> + +Get conversations for a logged in user or subreddits + +#### Parameters + +##### params + +[`GetConversationsRequest`](../type-aliases/GetConversationsRequest.md) + +#### Returns + +`Promise`\<[`GetConversationsResponse`](../type-aliases/GetConversationsResponse.md)\> + +#### Example + +```ts +const {viewerId, conversations} = await reddit.modMail.getConversations({ + after: 'abcdef', + limit: 42 +}); + +const arrayOfConversations = Object.values(conversations); +``` + +*** + + + +### getSubreddits() + +> **getSubreddits**(): `Promise`\<\{\}\> + +Returns a list of Subreddits that the user moderates with mail permission + +#### Returns + +`Promise`\<\{\}\> + +#### Example + +```ts +const subredditsData = await reddit.modMail.getSubreddits(); + +for (const subreddit of Object.values(subreddits)) { + console.log(subreddit.id); + console.log(subreddit.name); +} +``` + +*** + + + +### getUnreadCount() + +> **getUnreadCount**(): `Promise`\<[`UnreadCountResponse`](../type-aliases/UnreadCountResponse.md)\> + +Endpoint to retrieve the unread conversation count by conversation state. + +#### Returns + +`Promise`\<[`UnreadCountResponse`](../type-aliases/UnreadCountResponse.md)\> + +#### Example + +```ts +const response = await reddit.modMail.getUnreadCount(); + +console.log(response.highlighted); +console.log(response.new); +``` + +*** + + + +### getUserConversations() + +> **getUserConversations**(`conversationId`): `Promise`\<[`ConversationUserData`](../type-aliases/ConversationUserData.md)\> + +Returns recent posts, comments and modmail conversations for a given user. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationUserData`](../type-aliases/ConversationUserData.md)\> + +#### Example + +```ts +const data = await reddit.modMail.getUserConversations('abcdef'); + +console.log(data.recentComments); +console.log(data.recentPosts); +``` + +*** + + + +### highlightConversation() + +> **highlightConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Marks a conversation as highlighted. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.highlightConversation('abcdef'); +``` + +*** + + + +### muteConversation() + +> **muteConversation**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Marks a conversation as read for the user. + +#### Parameters + +##### params + +###### conversationId + +`string` + +Id of a modmail conversation + +###### numHours + +`72` \| `168` \| `672` + +For how many hours the conversation needs to be muted. Must be one of 72, 168, or 672 hours + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.muteConversation({ conversationId: 'abcdef', numHours: 72 }); +``` + +*** + + + +### readConversations() + +> **readConversations**(`conversationIds`): `Promise`\<`void`\> + +Marks a conversations as read for the user. + +#### Parameters + +##### conversationIds + +`string`[] + +An array of ids + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.modMail.readConversations(['abcdef', 'qwerty']); +``` + +*** + + + +### reply() + +> **reply**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Creates a new message for a particular conversation. + +#### Parameters + +##### params + +###### body + +`string` + +markdown text + +###### conversationId + +`string` + +Id of a modmail conversation + +###### isAuthorHidden? + +`boolean` + +is author hidden? (default: false) + +###### isInternal? + +`boolean` + +is internal message? (default: false) + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.reply({ + body: 'Lorem ipsum sit amet', + conversationId: 'abcdef', +}); +``` + +*** + + + +### tempBanConversation() + +> **tempBanConversation**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Temporary ban (switch from permanent to temporary ban) the non mod user associated with a particular conversation. + +#### Parameters + +##### params + +###### conversationId + +`string` + +a modmail conversation id + +###### duration + +`number` + +duration in days, max 999 + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.tempBanConversation({ conversationId: 'abcdef', duration: 42 }); +``` + +*** + + + +### unarchiveConversation() + +> **unarchiveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Marks conversation as unarchived. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.unarchiveConversation('abcdef'); +``` + +*** + + + +### unbanConversation() + +> **unbanConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Unban the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +a modmail conversation id + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.unbanConversation('abcdef'); +``` + +*** + + + +### unhighlightConversation() + +> **unhighlightConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Removes a highlight from a conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.unhighlightConversation('abcdef'); +``` + +*** + + + +### unmuteConversation() + +> **unmuteConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Unmutes the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.unmuteConversation('abcdef'); +``` + +*** + + + +### unreadConversations() + +> **unreadConversations**(`conversationIds`): `Promise`\<`void`\> + +Marks conversations as unread for the user. + +#### Parameters + +##### conversationIds + +`string`[] + +An array of ids + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.modMail.unreadConversations(['abcdef', 'qwerty']); +``` diff --git a/versioned_docs/version-0.14/api/public-api/classes/ModNote.md b/versioned_docs/version-0.14/api/public-api/classes/ModNote.md new file mode 100644 index 00000000..e191d669 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/ModNote.md @@ -0,0 +1,105 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: ModNote + +## Constructors + + + +### new ModNote() + +> **new ModNote**(): `ModNote` + +#### Returns + +`ModNote` + +## Properties + + + +### createdAt + +> **createdAt**: `Date` + +*** + + + +### id + +> **id**: `string` + +*** + + + +### modAction? + +> `optional` **modAction**: [`ModAction`](../interfaces/ModAction.md) + +*** + + + +### operator + +> **operator**: `object` + +#### id? + +> `optional` **id**: `` `t2_${string}` `` + +#### name? + +> `optional` **name**: `string` + +*** + + + +### subreddit + +> **subreddit**: `object` + +#### id? + +> `optional` **id**: `` `t5_${string}` `` + +#### name? + +> `optional` **name**: `string` + +*** + + + +### type + +> **type**: [`ModNoteType`](../type-aliases/ModNoteType.md) + +*** + + + +### user + +> **user**: `object` + +#### id? + +> `optional` **id**: `` `t2_${string}` `` + +#### name? + +> `optional` **name**: `string` + +*** + + + +### userNote? + +> `optional` **userNote**: [`UserNote`](../type-aliases/UserNote.md) diff --git a/versioned_docs/version-0.14/api/public-api/classes/Post.md b/versioned_docs/version-0.14/api/public-api/classes/Post.md new file mode 100644 index 00000000..70810d8a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Post.md @@ -0,0 +1,1482 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Post + +## Constructors + + + +### new Post() + +> **new Post**(): `Post` + +#### Returns + +`Post` + +## Accessors + + + +### approved + +#### Get Signature + +> **get** **approved**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### approvedAtUtc + +#### Get Signature + +> **get** **approvedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### archived + +#### Get Signature + +> **get** **archived**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### authorFlair + +#### Get Signature + +> **get** **authorFlair**(): `undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +##### Returns + +`undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +*** + + + +### authorId + +#### Get Signature + +> **get** **authorId**(): `undefined` \| `` `t2_${string}` `` + +##### Returns + +`undefined` \| `` `t2_${string}` `` + +*** + + + +### authorName + +#### Get Signature + +> **get** **authorName**(): `string` + +##### Returns + +`string` + +*** + + + +### bannedAtUtc + +#### Get Signature + +> **get** **bannedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### body + +#### Get Signature + +> **get** **body**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### bodyHtml + +#### Get Signature + +> **get** **bodyHtml**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### comments + +#### Get Signature + +> **get** **comments**(): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +##### Returns + +`Date` + +*** + + + +### crosspostParentId + +#### Get Signature + +> **get** **crosspostParentId**(): `undefined` \| `` `t3_${string}` `` + +The ID of the original post this was crossposted from. Undefined if this post is not a crosspost. + +##### Returns + +`undefined` \| `` `t3_${string}` `` + +*** + + + +### distinguishedBy + +#### Get Signature + +> **get** **distinguishedBy**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### edited + +#### Get Signature + +> **get** **edited**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### flair + +#### Get Signature + +> **get** **flair**(): `undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +##### Returns + +`undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +*** + + + +### gallery + +#### Get Signature + +> **get** **gallery**(): [`GalleryMedia`](../type-aliases/GalleryMedia.md)[] + +Get the media in the post. Empty if the post doesn't have any media. + +##### Returns + +[`GalleryMedia`](../type-aliases/GalleryMedia.md)[] + +*** + + + +### hidden + +#### Get Signature + +> **get** **hidden**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t3_${string}` `` + +##### Returns + +`` `t3_${string}` `` + +*** + + + +### ignoringReports + +#### Get Signature + +> **get** **ignoringReports**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### locked + +#### Get Signature + +> **get** **locked**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### modReportReasons + +#### Get Signature + +> **get** **modReportReasons**(): `string`[] + +##### Deprecated + +Use [modReports](#modreports) to retain each report's author. + +##### Returns + +`string`[] + +*** + + + +### modReports + +#### Get Signature + +> **get** **modReports**(): [`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +##### Returns + +[`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### numberOfComments + +#### Get Signature + +> **get** **numberOfComments**(): `number` + +##### Returns + +`number` + +*** + + + +### numberOfReports + +#### Get Signature + +> **get** **numberOfReports**(): `number` + +##### Returns + +`number` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +##### Returns + +`string` + +*** + + + +### pollData + +#### Get Signature + +> **get** **pollData**(): `undefined` \| [`PollData`](../type-aliases/PollData.md) + +Poll data for the post, if the post is a poll. Undefined otherwise. + +##### Returns + +`undefined` \| [`PollData`](../type-aliases/PollData.md) + +*** + + + +### quarantined + +#### Get Signature + +> **get** **quarantined**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### removed + +#### Get Signature + +> **get** **removed**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### removedBy + +#### Get Signature + +> **get** **removedBy**(): `undefined` \| `string` + +Who removed this object (username) + +##### Returns + +`undefined` \| `string` + +*** + + + +### removedByCategory + +#### Get Signature + +> **get** **removedByCategory**(): `undefined` \| `string` + +who/what removed this object. It will return one of the following: +- "anti_evil_ops": object is removed by a aeops member +- "author": object is removed by author of the post +- "automod_filtered": object is filtered by automod +- "community_ops": object is removed by a community team member +- "content_takedown": object is removed due to content violation +- "copyright_takedown": object is removed due to copyright violation +- "deleted": object is deleted +- "moderator": object is removed by a mod of the sub +- "reddit": object is removed by anyone else +- undefined: object is not removed + +##### Returns + +`undefined` \| `string` + +*** + + + +### score + +#### Get Signature + +> **get** **score**(): `number` + +##### Returns + +`number` + +*** + + + +### secureMedia + +#### Get Signature + +> **get** **secureMedia**(): `undefined` \| [`SecureMedia`](../type-aliases/SecureMedia.md) + +##### Returns + +`undefined` \| [`SecureMedia`](../type-aliases/SecureMedia.md) + +*** + + + +### spam + +#### Get Signature + +> **get** **spam**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### spoiler + +#### Get Signature + +> **get** **spoiler**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### stickied + +#### Get Signature + +> **get** **stickied**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### subredditId + +#### Get Signature + +> **get** **subredditId**(): `` `t5_${string}` `` + +##### Returns + +`` `t5_${string}` `` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +*** + + + +### thumbnail + +#### Get Signature + +> **get** **thumbnail**(): `undefined` \| \{ `height`: `number`; `url`: `string`; `width`: `number`; \} + +##### Returns + +`undefined` \| \{ `height`: `number`; `url`: `string`; `width`: `number`; \} + +*** + + + +### title + +#### Get Signature + +> **get** **title**(): `string` + +##### Returns + +`string` + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +##### Returns + +`string` + +*** + + + +### userReportReasons + +#### Get Signature + +> **get** **userReportReasons**(): `string`[] + +##### Returns + +`string`[] + +## Methods + + + +### addComment() + +> **addComment**(`opts`): `Promise`\<[`Comment`](Comment.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md)\> + +#### Returns + +`Promise`\<[`Comment`](Comment.md)\> + +*** + + + +### addRemovalNote() + +> **addRemovalNote**(`opts`): `Promise`\<`void`\> + +Add a mod note for why the post was removed + +#### Parameters + +##### opts + +###### modNote? + +`string` + +###### reasonId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approve() + +> **approve**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### crosspost() + +> **crosspost**(`opts`): `Promise`\<`Post`\> + +#### Parameters + +##### opts + +`Readonly`\<`Omit`\<[`CrosspostOptions`](../type-aliases/CrosspostOptions.md), `"postId"`\>\> + +#### Returns + +`Promise`\<`Post`\> + +*** + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguish() + +> **distinguish**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguishAsAdmin() + +> **distinguishAsAdmin**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### edit() + +> **edit**(`opts`): `Promise`\<`void`\> + +#### Parameters + +##### opts + +`Readonly`\<[`PostTextOptions`](../type-aliases/PostTextOptions.md)\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### filter() + +> **filter**(`options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters a post. When a post is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the post was filtered successfully. + +*** + + + +### getAuthor() + +> **getAuthor**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +*** + + + +### getCurrentUserPollOption() + +> **getCurrentUserPollOption**(): `Promise`\<`undefined` \| [`PollOption`](../type-aliases/PollOption.md)\> + +Get the poll option the authenticated user selected for this post. +Returns undefined if the post is not a poll or the user has not voted. + +This method will get the poll option for the app account by default. +To get the poll option for a user, please contact Reddit. + +#### Returns + +`Promise`\<`undefined` \| [`PollOption`](../type-aliases/PollOption.md)\> + +*** + + + +### getCustomPostStyles() + +> **getCustomPostStyles**(): `Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +**`Experimental`** + +Get the custom styles for a custom post. + +#### Returns + +`Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +*** + + + +### getDuplicates() + +> **getDuplicates**(`opts`?): [`Listing`](Listing.md)\<`Post`\> + +#### Parameters + +##### opts? + +`Omit`\<[`GetDuplicatesOptions`](../type-aliases/GetDuplicatesOptions.md), `"postId"`\> + +#### Returns + +[`Listing`](Listing.md)\<`Post`\> + +*** + + + +### getEnrichedThumbnail() + +> **getEnrichedThumbnail**(): `Promise`\<`undefined` \| [`EnrichedThumbnail`](../type-aliases/EnrichedThumbnail.md)\> + +Get a thumbnail that contains a preview image and also contains a blurred preview for +NSFW images. The thumbnail returned has higher resolution than Post.thumbnail. +Returns undefined if the post doesn't have a thumbnail + +#### Returns + +`Promise`\<`undefined` \| [`EnrichedThumbnail`](../type-aliases/EnrichedThumbnail.md)\> + +#### Throws + +Throws an error if the thumbnail could not be fetched + +#### Example + +```ts +// from a menu action, form, scheduler, trigger, custom post click event, etc +const post = await context.reddit.getPostById(context.postId); +const enrichedThumbnail = await post.getEnrichedThumbnail(); +``` + +*** + + + +### getPostData() + +> **getPostData**(): `Promise`\<`undefined` \| [`JSONObject`](../type-aliases/JSONObject.md)\> + +Get the postData for the custom post. + +#### Returns + +`Promise`\<`undefined` \| [`JSONObject`](../type-aliases/JSONObject.md)\> + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); +const postData = await post.getPostData(); +``` + +*** + + + +### hide() + +> **hide**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### ignoreReports() + +> **ignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### isApproved() + +> **isApproved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isArchived() + +> **isArchived**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isDistinguishedBy() + +> **isDistinguishedBy**(): `undefined` \| `string` + +#### Returns + +`undefined` \| `string` + +*** + + + +### isEdited() + +> **isEdited**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isHidden() + +> **isHidden**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isIgnoringReports() + +> **isIgnoringReports**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isLocked() + +> **isLocked**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isNsfw() + +> **isNsfw**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isQuarantined() + +> **isQuarantined**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isRemoved() + +> **isRemoved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isSpam() + +> **isSpam**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isSpoiler() + +> **isSpoiler**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isStickied() + +> **isStickied**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### lock() + +> **lock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### markAsNsfw() + +> **markAsNsfw**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### markAsSpoiler() + +> **markAsSpoiler**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### mergePostData() + +> **mergePostData**(`postData`): `Promise`\<`void`\> + +Merge the postData on a custom post with the postData specified in the input. This performs a shallow merge. + +#### Parameters + +##### postData + +[`JSONObject`](../type-aliases/JSONObject.md) + +Represents the postData to be merged with the existing postData. + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be merged. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { currentScore: 55, settings: { theme: 'dark', fontSize: 12 } } + +await post.mergePostData({ settings: { fontSize: 14 } }); +// Result: { currentScore: 55, settings: { fontSize: 14 } } +``` + +*** + + + +### remove() + +> **remove**(`isSpam`?): `Promise`\<`void`\> + +#### Parameters + +##### isSpam? + +`boolean` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setCustomPostStyles() + +> **setCustomPostStyles**(`styles`): `Promise`\<`void`\> + +**`Experimental`** + +Set the custom styles for a custom post. + +#### Parameters + +##### styles + +The styles to set for the post. If a value isn't specified, its previous value + will be preserved. If `undefined` is passed, all custom styles will be removed. + +`undefined` | `CustomPostStylesInput` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setPostData() + +> **setPostData**(`postData`): `Promise`\<`void`\> + +Set the postData for the custom post. This will replace the existing +postData with the postData specified in the input. + +#### Parameters + +##### postData + +[`JSONObject`](../type-aliases/JSONObject.md) + +Represents the postData to be set, eg: { currentScore: 55, secretWord: 'barbeque' } + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { settings: { theme: 'dark', fontSize: 12 } } + +await post.setPostData({ + currentScore: 55, + secretWord: 'barbeque', +}); +// Result: { currentScore: 55, secretWord: 'barbeque' } +``` + +*** + + + +### setSuggestedCommentSort() + +> **setSuggestedCommentSort**(`suggestedSort`): `Promise`\<`void`\> + +Set the suggested sort for comments on a Post. + +#### Parameters + +##### suggestedSort + +[`PostSuggestedCommentSort`](../type-aliases/PostSuggestedCommentSort.md) + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the suggested sort could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); +await post.setSuggestedCommentSort("NEW"); +``` + +*** + + + +### setTextFallback() + +> **setTextFallback**(`opts`): `Promise`\<`void`\> + +Set a text fallback for the custom post. + +#### Parameters + +##### opts + +`Readonly`\<[`CustomPostTextFallbackOptions`](../type-aliases/CustomPostTextFallbackOptions.md)\> + +A text or a richtext to render in a fallback + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the fallback could not be set. + +#### Example + +```ts +// from a menu action, form, scheduler, trigger, custom post click event, etc +const newTextFallback = { text: 'This is an updated text fallback' }; +const post = await context.reddit.getPostById(context.postId); +await post.setTextFallback(newTextFallback); +``` + +*** + + + +### snoozeReports() + +> **snoozeReports**(`reason`): `Promise`\<`void`\> + +Snooze subsequent reports with the given reason from the same users for the next 7 days. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to snooze. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### sticky() + +> **sticky**(`position`?): `Promise`\<`void`\> + +#### Parameters + +##### position? + +`1` | `2` | `3` | `4` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Post`, `"subredditName"` \| `"title"` \| `"nsfw"` \| `"spoiler"` \| `"id"` \| `"subredditId"` \| `"permalink"` \| `"url"` \| `"createdAt"` \| `"authorId"` \| `"authorName"` \| `"body"` \| `"bodyHtml"` \| `"thumbnail"` \| `"score"` \| `"numberOfComments"` \| `"numberOfReports"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"removedBy"` \| `"removedByCategory"` \| `"archived"` \| `"edited"` \| `"locked"` \| `"quarantined"` \| `"hidden"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"flair"` \| `"authorFlair"` \| `"secureMedia"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"crosspostParentId"`\> + +#### Returns + +`Pick`\<`Post`, `"subredditName"` \| `"title"` \| `"nsfw"` \| `"spoiler"` \| `"id"` \| `"subredditId"` \| `"permalink"` \| `"url"` \| `"createdAt"` \| `"authorId"` \| `"authorName"` \| `"body"` \| `"bodyHtml"` \| `"thumbnail"` \| `"score"` \| `"numberOfComments"` \| `"numberOfReports"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"removedBy"` \| `"removedByCategory"` \| `"archived"` \| `"edited"` \| `"locked"` \| `"quarantined"` \| `"hidden"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"flair"` \| `"authorFlair"` \| `"secureMedia"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"crosspostParentId"`\> + +*** + + + +### undistinguish() + +> **undistinguish**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unhide() + +> **unhide**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unignoreReports() + +> **unignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unlock() + +> **unlock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmarkAsNsfw() + +> **unmarkAsNsfw**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmarkAsSpoiler() + +> **unmarkAsSpoiler**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsnoozeReports() + +> **unsnoozeReports**(`reason`): `Promise`\<`void`\> + +Unsnooze reports with the given reason. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to unsnooze. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsticky() + +> **unsticky**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateCrowdControlLevel() + +> **updateCrowdControlLevel**(`level`): `Promise`\<`void`\> + +Updates the crowd control level of the post to hide comments accordingly. + +#### Parameters + +##### level + +[`CrowdControlLevel`](../type-aliases/CrowdControlLevel.md) + +The crowd control level to set. See [CrowdControlLevel](../type-aliases/CrowdControlLevel.md) for more information. + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/PostFlairSettings.md b/versioned_docs/version-0.14/api/public-api/classes/PostFlairSettings.md new file mode 100644 index 00000000..605f90e3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/PostFlairSettings.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: PostFlairSettings + +## Constructors + + + +### new PostFlairSettings() + +> **new PostFlairSettings**(): `PostFlairSettings` + +#### Returns + +`PostFlairSettings` + +## Properties + + + +### isEnabled? + +> `optional` **isEnabled**: `boolean` + +*** + + + +### isSelfAssignabled? + +> `optional` **isSelfAssignabled**: `boolean` diff --git a/versioned_docs/version-0.14/api/public-api/classes/PostFlairWidget.md b/versioned_docs/version-0.14/api/public-api/classes/PostFlairWidget.md new file mode 100644 index 00000000..cadc561f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/PostFlairWidget.md @@ -0,0 +1,163 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: PostFlairWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new PostFlairWidget() + +> **new PostFlairWidget**(`widgetData`, `subredditName`): `PostFlairWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`PostFlairWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### display + +#### Get Signature + +> **get** **display**(): `"list"` \| `"cloud"` + +##### Returns + +`"list"` \| `"cloud"` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +*** + + + +### templates + +#### Get Signature + +> **get** **templates**(): `GetWidgetsResponse_WidgetItem_PostFlairTemplate`[] + +##### Returns + +`GetWidgetsResponse_WidgetItem_PostFlairTemplate`[] + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`PostFlairWidget`, `"styles"` \| `"templates"` \| `"display"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`PostFlairWidget`, `"styles"` \| `"templates"` \| `"display"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/PrivateMessage.md b/versioned_docs/version-0.14/api/public-api/classes/PrivateMessage.md new file mode 100644 index 00000000..67576c8f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/PrivateMessage.md @@ -0,0 +1,99 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: PrivateMessage + +## Constructors + + + +### new PrivateMessage() + +> **new PrivateMessage**(): `PrivateMessage` + +#### Returns + +`PrivateMessage` + +## Accessors + + + +### body + +#### Get Signature + +> **get** **body**(): `string` + +##### Returns + +`string` + +*** + + + +### bodyHtml + +#### Get Signature + +> **get** **bodyHtml**(): `string` + +##### Returns + +`string` + +*** + + + +### created + +#### Get Signature + +> **get** **created**(): `Date` + +##### Returns + +`Date` + +*** + + + +### from + +#### Get Signature + +> **get** **from**(): `PrivateMessageAuthor` + +##### Returns + +`PrivateMessageAuthor` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `Tid` + +##### Returns + +`Tid` + +## Methods + + + +### markAsRead() + +> **markAsRead**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/RedditAPIClient.md b/versioned_docs/version-0.14/api/public-api/classes/RedditAPIClient.md new file mode 100644 index 00000000..92dc51c3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/RedditAPIClient.md @@ -0,0 +1,4075 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: RedditAPIClient + +The Reddit API Client + +To use the Reddit API Client, add it to the plugin configuration at the top of the file. + +## Example + +```ts + +Devvit.configure({ + redditAPI: true, + // other plugins +}) + +// use within one of our capability handlers e.g. Menu Actions, Triggers, Scheduled Job Type, etc +async (event, context) => { + const subreddit = await context.reddit.getSubredditById(context.subredditId); + context.reddit.submitPost({ + subredditName: subreddit.name, + title: 'test post', + text: 'test body', + }) + // additional code +} +``` + +## Extends + +- [`RedditClient`](RedditClient.md) + +## Constructors + + + +### new RedditAPIClient() + +> **new RedditAPIClient**(): `RedditAPIClient` + +#### Returns + +`RedditAPIClient` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`constructor`](RedditClient.md#constructor) + +## Accessors + + + +### modMail + +#### Get Signature + +> **get** **modMail**(): [`ModMailService`](ModMailService.md) + +Get ModMail API object + +##### Example + +```ts +await reddit.modMail.reply({ + body: "Here is my message", + conversationId: "abcd42"; +}) +``` + +##### Returns + +[`ModMailService`](ModMailService.md) + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`modMail`](RedditClient.md#modmail) + +## Methods + + + +### addEditorToWikiPage() + +> **addEditorToWikiPage**(`subredditName`, `page`, `username`): `Promise`\<`void`\> + +Add an editor to a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to add the editor to. + +##### username + +`string` + +The username of the user to add as an editor. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`addEditorToWikiPage`](RedditClient.md#addeditortowikipage) + +*** + + + +### addModNote() + +> **addModNote**(`options`): `Promise`\<[`ModNote`](ModNote.md)\> + +Add a mod note. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<[`ModNote`](ModNote.md)\> + +A Promise that resolves if the mod note was successfully added. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`addModNote`](RedditClient.md#addmodnote) + +*** + + + +### addRemovalNote() + +> **addRemovalNote**(`options`): `Promise`\<`void`\> + +Add a mod note for why a post or comment was removed + +#### Parameters + +##### options + +`Prettify` + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`addRemovalNote`](RedditClient.md#addremovalnote) + +*** + + + +### addSubredditRemovalReason() + +> **addSubredditRemovalReason**(`subredditName`, `options`): `Promise`\<`string`\> + +Add a removal reason to a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### options + +Options. + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`string`\> + +Removal Reason ID + +#### Example + +```ts +const newReason = await reddit.addSubredditRemovalReasons( + 'askReddit', + { + title: 'Spam', + message: 'This is spam!' + } +); +console.log(newReason.id) +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`addSubredditRemovalReason`](RedditClient.md#addsubredditremovalreason) + +*** + + + +### addWidget() + +> **addWidget**(`widgetData`): `Promise`\<[`Widget`](Widget.md)\> + +Add a widget to a subreddit. + +#### Parameters + +##### widgetData + +[`AddWidgetData`](../type-aliases/AddWidgetData.md) + +The data for the widget to add. + +#### Returns + +`Promise`\<[`Widget`](Widget.md)\> + +- The added Widget object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`addWidget`](RedditClient.md#addwidget) + +*** + + + +### addWikiContributor() + +> **addWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +Add a user as a wiki contributor for a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to add as a wiki contributor. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to add the user as a wiki contributor. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`addWikiContributor`](RedditClient.md#addwikicontributor) + +*** + + + +### approve() + +> **approve**(`id`): `Promise`\<`void`\> + +Approve a post or comment. + +#### Parameters + +##### id + +`string` + +The id of the post (t3_) or comment (t1_) to approve. + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.approve('t3_123456'); +await reddit.approve('t1_123456'); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`approve`](RedditClient.md#approve) + +*** + + + +### approveUser() + +> **approveUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Approve a user to post in a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to approve. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to approve the user in. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`approveUser`](RedditClient.md#approveuser) + +*** + + + +### banUser() + +> **banUser**(`options`): `Promise`\<`void`\> + +Ban a user from a subreddit. + +#### Parameters + +##### options + +[`BanUserOptions`](../type-aliases/BanUserOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`banUser`](RedditClient.md#banuser) + +*** + + + +### banWikiContributor() + +> **banWikiContributor**(`options`): `Promise`\<`void`\> + +Ban a user from contributing to the wiki on a subreddit. + +#### Parameters + +##### options + +[`BanWikiContributorOptions`](../type-aliases/BanWikiContributorOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`banWikiContributor`](RedditClient.md#banwikicontributor) + +*** + + + +### createPostFlairTemplate() + +> **createPostFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +Create a post flair template for a subreddit. + +#### Parameters + +##### options + +[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +The created FlairTemplate object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`createPostFlairTemplate`](RedditClient.md#createpostflairtemplate) + +*** + + + +### createRule() + +> **createRule**(`subredditName`, `options`): `Promise`\<`void`\> + +Create a new rule in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to add the rule to. + +##### options + +[`CreateRuleOptions`](../type-aliases/CreateRuleOptions.md) + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`createRule`](RedditClient.md#createrule) + +*** + + + +### createShareUrl() + +> **createShareUrl**(`url`): `Promise`\<`string`\> + +Create a short share URL for a Reddit location. + +Valid inputs: +- Absolute Reddit URLs without a query string (e.g., https://reddit.com/r/gamesonreddit) +- URLs with a query string limited to: utm_source, utm_medium, devvitshare + +#### Parameters + +##### url + +`string` + +Full Reddit URL to shorten. Must be absolute and either have no query string or only the allowed query params. + +#### Returns + +`Promise`\<`string`\> + +The shortened share URL (e.g., 'https://reddit.com/s/abc123'). + +#### Note + +old.reddit.com URLs can be shortened but they will redirect to reddit.com. + +#### Throws + +If the input URL is invalid, contains unsupported query parameters, or the share URL cannot be created. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`createShareUrl`](RedditClient.md#createshareurl) + +*** + + + +### createUserFlairTemplate() + +> **createUserFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +Create a user flair template for a subreddit. + +#### Parameters + +##### options + +[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +The created FlairTemplate object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`createUserFlairTemplate`](RedditClient.md#createuserflairtemplate) + +*** + + + +### createWikiPage() + +> **createWikiPage**(`options`): `Promise`\<[`WikiPage`](WikiPage.md)\> + +Create a new wiki page for a subreddit. + +#### Parameters + +##### options + +[`CreateWikiPageOptions`](../type-aliases/CreateWikiPageOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPage`](WikiPage.md)\> + +- The created WikiPage object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`createWikiPage`](RedditClient.md#createwikipage) + +*** + + + +### crosspost() + +> **crosspost**(`options`): `Promise`\<[`Post`](Post.md)\> + +Crossposts a post to a subreddit. + +#### Parameters + +##### options + +`Omit`\<[`CrosspostOptions`](../type-aliases/CrosspostOptions.md), `"postId"`\> & `object` + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +- A Promise that resolves to a Post object. + +#### See + + - [()\|submitPost()](RedditClient.md#submitpost) + - [()\|submitCustomPost()](RedditClient.md#submitcustompost) + +#### Overrides + +[`RedditClient`](RedditClient.md).[`crosspost`](RedditClient.md#crosspost) + +*** + + + +### deleteFlairTemplate() + +> **deleteFlairTemplate**(`subredditName`, `flairTemplateId`): `Promise`\<`void`\> + +Delete a flair template from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to delete the flair template from. + +##### flairTemplateId + +`string` + +The ID of the flair template to delete. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`deleteFlairTemplate`](RedditClient.md#deleteflairtemplate) + +*** + + + +### deleteModNote() + +> **deleteModNote**(`options`): `Promise`\<`boolean`\> + +Delete a mod note. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<`boolean`\> + +True if it was deleted successfully; false otherwise. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`deleteModNote`](RedditClient.md#deletemodnote) + +*** + + + +### deleteSubredditRemovalReason() + +> **deleteSubredditRemovalReason**(`subredditName`, `reasonId`): `Promise`\<`void`\> + +Delete a removal reason from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### reasonId + +`string` + +ID of the removal reason (from get or add). + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.deleteSubredditRemovalReason('askReddit', 'uuid-abc'); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`deleteSubredditRemovalReason`](RedditClient.md#deletesubredditremovalreason) + +*** + + + +### deleteWidget() + +> **deleteWidget**(`subredditName`, `widgetId`): `Promise`\<`void`\> + +Delete a widget from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to delete the widget from. + +##### widgetId + +`string` + +The ID of the widget to delete. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`deleteWidget`](RedditClient.md#deletewidget) + +*** + + + +### editFlairTemplate() + +> **editFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +Edit a flair template for a subreddit. This can be either a post or user flair template. +Note: If you leave any of the options fields as undefined, they will reset to their default values. + +#### Parameters + +##### options + +[`EditFlairTemplateOptions`](../type-aliases/EditFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +The edited FlairTemplate object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`editFlairTemplate`](RedditClient.md#editflairtemplate) + +*** + + + +### filter() + +> **filter**(`id`, `options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters a post or comment. When a post or comment is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to filter. + +`` `t3_${string}` `` | `` `t1_${string}` `` + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the post or comment was filtered successfully. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`filter`](RedditClient.md#filter) + +*** + + + +### getApprovedUsers() + +> **getApprovedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +Get a list of users who have been approved to post in a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +A Listing of SubredditContributorUser objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getApprovedUsers`](RedditClient.md#getapprovedusers) + +*** + + + +### getAppUser() + +> **getAppUser**(): `Promise`\<[`User`](User.md)\> + +Get the user that the app runs as on the provided metadata. + +#### Returns + +`Promise`\<[`User`](User.md)\> + +A Promise that resolves to a User object. + +#### Example + +```ts +const user = await reddit.getAppUser(metadata); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getAppUser`](RedditClient.md#getappuser) + +*** + + + +### getBannedUsers() + +> **getBannedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +Get a list of users who are banned from a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +A Listing of SubredditBannedUser objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getBannedUsers`](RedditClient.md#getbannedusers) + +*** + + + +### getBannedWikiContributors() + +> **getBannedWikiContributors**(`options`): [`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +Get a list of users who are banned from contributing to the wiki on a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +A Listing of SubredditWikiBannedUser objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getBannedWikiContributors`](RedditClient.md#getbannedwikicontributors) + +*** + + + +### getBestPosts() + +> **getBestPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of best posts from the front page. +This method will get the front page for the app account by default. +To get the front page for a user, please contact Reddit. + +#### Parameters + +##### options + +[`ListingFetchOptions`](../type-aliases/ListingFetchOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getBestPosts({ + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getBestPosts`](RedditClient.md#getbestposts) + +*** + + + +### getCommentById() + +> **getCommentById**(`id`): `Promise`\<[`Comment`](Comment.md)\> + +Get a [Comment](Comment.md) object by ID + +#### Parameters + +##### id + +`string` + +The ID (starting with t1_) of the comment to retrieve. e.g. t1_1qjpg + +#### Returns + +`Promise`\<[`Comment`](Comment.md)\> + +A Promise that resolves to a Comment object. + +#### Example + +```ts +const comment = await reddit.getCommentById('t1_1qjpg'); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getCommentById`](RedditClient.md#getcommentbyid) + +*** + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get a list of comments from a specific post or comment. + +#### Parameters + +##### options + +[`GetCommentsOptions`](../type-aliases/GetCommentsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Example + +```ts +const comments = await reddit.getComments({ + postId: 't3_1qjpg', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getComments`](RedditClient.md#getcomments) + +*** + + + +### getCommentsAndPostsByUser() + +> **getCommentsAndPostsByUser**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Get a list of posts and comments from a specific user. + +#### Parameters + +##### options + +[`GetUserOverviewOptions`](../type-aliases/GetUserOverviewOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +A Listing of `Post` and `Comment` objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getCommentsAndPostsByUser`](RedditClient.md#getcommentsandpostsbyuser) + +*** + + + +### getCommentsByUser() + +> **getCommentsByUser**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get a list of comments by a specific user. + +#### Parameters + +##### options + +[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getCommentsByUser`](RedditClient.md#getcommentsbyuser) + +*** + + + +### getControversialPosts() + +> **getControversialPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of controversial posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getControversialPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getControversialPosts`](RedditClient.md#getcontroversialposts) + +*** + + + +### getCurrentSubreddit() + +> **getCurrentSubreddit**(): `Promise`\<[`Subreddit`](Subreddit.md)\> + +Retrieves the current subreddit. + +#### Returns + +`Promise`\<[`Subreddit`](Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Example + +```ts +const currentSubreddit = await reddit.getCurrentSubreddit(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getCurrentSubreddit`](RedditClient.md#getcurrentsubreddit) + +*** + + + +### getCurrentSubredditName() + +> **getCurrentSubredditName**(): `Promise`\<`string`\> + +Retrieves the name of the current subreddit. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the current subreddit's name. + +#### Example + +```ts +const currentSubredditName = await reddit.getCurrentSubredditName(); +``` + +*** + + + +### getCurrentUser() + +> **getCurrentUser**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +Get the current calling user. +Resolves to undefined for logged-out custom post renders. + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object or undefined + +#### Example + +```ts +const user = await reddit.getCurrentUser(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getCurrentUser`](RedditClient.md#getcurrentuser) + +*** + + + +### getCurrentUsername() + +> **getCurrentUsername**(): `Promise`\<`undefined` \| `string`\> + +Get the current calling user's username. +Resolves to undefined for logged-out custom post renders. + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +A Promise that resolves to a string representing the username or undefined + +#### Example + +```ts +const username = await reddit.getCurrentUsername(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getCurrentUsername`](RedditClient.md#getcurrentusername) + +*** + + + +### getDuplicatesForPost() + +> **getDuplicatesForPost**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get posts that shared the same link as the given post. + +#### Parameters + +##### options + +[`GetDuplicatesOptions`](../type-aliases/GetDuplicatesOptions.md) + +Options for the request. Post ID is required, eveything else is optional. + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const duplicates = await reddit.getDuplicatesForPost({ + postId: 't3_abc123', + sort: 'num_comments', + limit: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getDuplicatesForPost`](RedditClient.md#getduplicatesforpost) + +*** + + + +### getEdited() + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getEdited`](RedditClient.md#getedited) + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getEdited`](RedditClient.md#getedited) + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getEdited`](RedditClient.md#getedited) + +*** + + + +### getHotPosts() + +> **getHotPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of hot posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetHotPostsOptions`](../type-aliases/GetHotPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getHotPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getHotPosts`](RedditClient.md#gethotposts) + +*** + + + +### getMessages() + +> **getMessages**(`options`): `Promise`\<[`Listing`](Listing.md)\<[`PrivateMessage`](PrivateMessage.md)\>\> + +Get private messages sent to the currently authenticated user. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<[`Listing`](Listing.md)\<[`PrivateMessage`](PrivateMessage.md)\>\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getMessages`](RedditClient.md#getmessages) + +*** + + + +### getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +Get the moderation log for a subreddit. + +#### Parameters + +##### options + +[`GetModerationLogOptions`](../type-aliases/GetModerationLogOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +A Listing of ModAction objects. + +#### Example + +```ts +const modActions = await reddit.getModerationLog({ + subredditName: 'memes', + moderatorUsernames: ['spez'], + type: 'banuser', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getModerationLog`](RedditClient.md#getmoderationlog) + +*** + + + +### getModerators() + +> **getModerators**(`options`): [`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +Get a list of users who are moderators for a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +A Listing of SubredditModeratorUser objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getModerators`](RedditClient.md#getmoderators) + +*** + + + +### getModNotes() + +> **getModNotes**(`options`): [`Listing`](Listing.md)\<[`ModNote`](ModNote.md)\> + +Get a list of mod notes related to a user in a subreddit. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`ModNote`](ModNote.md)\> + +A listing of ModNote objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getModNotes`](RedditClient.md#getmodnotes) + +*** + + + +### getModQueue() + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getModQueue`](RedditClient.md#getmodqueue) + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getModQueue`](RedditClient.md#getmodqueue) + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getModQueue`](RedditClient.md#getmodqueue) + +*** + + + +### getMutedUsers() + +> **getMutedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +Get a list of users who are muted in a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +A listing of SubredditMutedUser objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getMutedUsers`](RedditClient.md#getmutedusers) + +*** + + + +### getNewPosts() + +> **getNewPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of new posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptions`](../type-aliases/GetPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getNewPosts({ + subredditName: 'memes', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getNewPosts`](RedditClient.md#getnewposts) + +*** + + + +### getPostById() + +> **getPostById**(`id`): `Promise`\<[`Post`](Post.md)\> + +Gets a [Post](Post.md) object by ID + +#### Parameters + +##### id + +`string` + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +A Promise that resolves to a Post object. + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getPostById`](RedditClient.md#getpostbyid) + +*** + + + +### getPostData() + +> **getPostData**(`id`): `Promise`\<`undefined` \| [`JSONObject`](../type-aliases/JSONObject.md)\> + +Returns PostData, if any, for the post specified by ID. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +#### Returns + +`Promise`\<`undefined` \| [`JSONObject`](../type-aliases/JSONObject.md)\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getPostData`](RedditClient.md#getpostdata) + +*** + + + +### getPostFlairTemplates() + +> **getPostFlairTemplates**(`subredditName`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +Get the list of post flair templates for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the post flair templates for. + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +A Promise that resolves with an array of FlairTemplate objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getPostFlairTemplates`](RedditClient.md#getpostflairtemplates) + +*** + + + +### getPostsByUser() + +> **getPostsByUser**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of posts from a specific user. + +#### Parameters + +##### options + +[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getPostsByUser`](RedditClient.md#getpostsbyuser) + +*** + + + +### getPostStyles() + +> **getPostStyles**(`id`): `Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +**`Experimental`** + +Get the custom styles for a custom post. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +The ID of the post to get styles for. + +#### Returns + +`Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getPostStyles`](RedditClient.md#getpoststyles) + +*** + + + +### getReports() + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getReports`](RedditClient.md#getreports) + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getReports`](RedditClient.md#getreports) + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getReports`](RedditClient.md#getreports) + +*** + + + +### getRisingPosts() + +> **getRisingPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of hot posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptions`](../type-aliases/GetPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getRisingPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getRisingPosts`](RedditClient.md#getrisingposts) + +*** + + + +### getRules() + +> **getRules**(`subredditName`): `Promise`\<[`Rule`](Rule.md)[]\> + +Get the rules for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the rules for. + +#### Returns + +`Promise`\<[`Rule`](Rule.md)[]\> + +An array of Rule objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getRules`](RedditClient.md#getrules) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(`username`): `Promise`\<`undefined` \| `string`\> + +Get the snoovatar URL for a given username. + +#### Parameters + +##### username + +`string` + +The username of the snoovatar to retrieve + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +A Promise that resolves to a URL of the snoovatar image if it exists. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getSnoovatarUrl`](RedditClient.md#getsnoovatarurl) + +*** + + + +### getSpam() + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getSpam`](RedditClient.md#getspam) + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getSpam`](RedditClient.md#getspam) + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getSpam`](RedditClient.md#getspam) + +*** + + + +### ~~getSubredditById()~~ + +> **getSubredditById**(`id`): `Promise`\<`undefined` \| [`Subreddit`](Subreddit.md)\> + +Gets a [Subreddit](Subreddit.md) object by ID + +#### Parameters + +##### id + +`string` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +#### Returns + +`Promise`\<`undefined` \| [`Subreddit`](Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Deprecated + +Use [getSubredditInfoById](RedditClient.md#getsubredditinfobyid) instead. + +#### Example + +```ts +const memes = await reddit.getSubredditById('t5_2qjpg'); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getSubredditById`](RedditClient.md#getsubredditbyid) + +*** + + + +### ~~getSubredditByName()~~ + +> **getSubredditByName**(`name`): `Promise`\<[`Subreddit`](Subreddit.md)\> + +Gets a [Subreddit](Subreddit.md) object by name + +#### Parameters + +##### name + +`string` + +The name of a subreddit omitting the r/. This is case insensitive. + +#### Returns + +`Promise`\<[`Subreddit`](Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Deprecated + +Use [getSubredditInfoByName](RedditClient.md#getsubredditinfobyname) instead. + +#### Example + +```ts +const askReddit = await reddit.getSubredditByName('askReddit'); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getSubredditByName`](RedditClient.md#getsubredditbyname) + +*** + + + +### getSubredditInfoById() + +> **getSubredditInfoById**(`id`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by ID + +#### Parameters + +##### id + +`string` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +#### Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. + +#### Example + +```ts +const memes = await reddit.getSubredditInfoById('t5_2qjpg'); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getSubredditInfoById`](RedditClient.md#getsubredditinfobyid) + +*** + + + +### getSubredditInfoByName() + +> **getSubredditInfoByName**(`name`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by name + +#### Parameters + +##### name + +`string` + +The name of a subreddit omitting the r/. This is case insensitive. + +#### Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. + +#### Example + +```ts +const askReddit = await reddit.getSubredditInfoByName('askReddit'); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getSubredditInfoByName`](RedditClient.md#getsubredditinfobyname) + +*** + + + +### getSubredditLeaderboard() + +> **getSubredditLeaderboard**(`subredditId`): `Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> + +Returns a leaderboard for a given subreddit ID. + +#### Parameters + +##### subredditId + +`string` + +ID of the subreddit for which the leaderboard is being queried. + +#### Returns + +`Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> + +Leaderboard for the given subreddit. + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getSubredditLeaderboard`](RedditClient.md#getsubredditleaderboard) + +*** + + + +### getSubredditRemovalReasons() + +> **getSubredditRemovalReasons**(`subredditName`): `Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +Get the list of subreddit's removal reasons (ordered). + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +#### Returns + +`Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +Ordered array of Removal Reasons + +#### Example + +```ts +const reasons = await reddit.getSubredditRemovalReasons('askReddit'); + +for (let reason of reasons) { + console.log(reason.id, reason.message, reason.title) +} +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getSubredditRemovalReasons`](RedditClient.md#getsubredditremovalreasons) + +*** + + + +### getSubredditStyles() + +> **getSubredditStyles**(`subredditId`): `Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> + +Returns the styles for a given subreddit ID. + +#### Parameters + +##### subredditId + +`string` + +ID of the subreddit from which to retrieve the styles. + +#### Returns + +`Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> + +Styles for the given subreddit. + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getSubredditStyles`](RedditClient.md#getsubredditstyles) + +*** + + + +### getSubscribedSubredditsForCurrentUser() + +> **getSubscribedSubredditsForCurrentUser**(`options`): [`Listing`](Listing.md)\<[`Subreddit`](Subreddit.md)\> + +Returns a listing of subreddits that the current user is subscribed to. +This method will execute as the app account by default. +To execute this on behalf of a user, please contact Reddit. + +#### Parameters + +##### options + +[`GetSubscribedSubredditsForCurrentUserOptions`](../type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) + +#### Returns + +[`Listing`](Listing.md)\<[`Subreddit`](Subreddit.md)\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getSubscribedSubredditsForCurrentUser`](RedditClient.md#getsubscribedsubredditsforcurrentuser) + +*** + + + +### getTopPosts() + +> **getTopPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of controversial posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getControversialPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getTopPosts`](RedditClient.md#gettopposts) + +*** + + + +### getUnmoderated() + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getUnmoderated`](RedditClient.md#getunmoderated) + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getUnmoderated`](RedditClient.md#getunmoderated) + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +##### Inherited from + +[`RedditClient`](RedditClient.md).[`getUnmoderated`](RedditClient.md#getunmoderated) + +*** + + + +### getUserById() + +> **getUserById**(`id`): `Promise`\<`undefined` \| [`User`](User.md)\> + +Gets a [User](User.md) object by ID + +#### Parameters + +##### id + +`string` + +The ID (starting with t2_) of the user to retrieve. e.g. t2_1qjpg + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object. + +#### Example + +```ts +const user = await reddit.getUserById('t2_1qjpg'); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getUserById`](RedditClient.md#getuserbyid) + +*** + + + +### getUserByUsername() + +> **getUserByUsername**(`username`): `Promise`\<`undefined` \| [`User`](User.md)\> + +Gets a [User](User.md) object by username + +#### Parameters + +##### username + +`string` + +The username of the user omitting the u/. e.g. 'devvit' + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object or undefined if user is + not found (user doesn't exist, account suspended, etc). + +#### Example + +```ts +const user = await reddit.getUserByUsername('devvit'); +if (user) { + console.log(user) +} +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getUserByUsername`](RedditClient.md#getuserbyusername) + +*** + + + +### getUserFlairTemplates() + +> **getUserFlairTemplates**(`subredditName`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +Get the list of user flair templates for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the user flair templates for. + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +A Promise that resolves with an array of FlairTemplate objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getUserFlairTemplates`](RedditClient.md#getuserflairtemplates) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(`username`): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for a given user in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Parameters + +##### username + +`string` + +The username of the user to get the karma for. e.g. 'spez' + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for posts and comments in the subreddit. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getUserKarmaFromCurrentSubreddit`](RedditClient.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### getVaultByAddress() + +> **getVaultByAddress**(`address`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +Gets a [Vault](../type-aliases/Vault.md) for the specified address. + +#### Parameters + +##### address + +`string` + +The address (starting with 0x) of the Vault. + +#### Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +#### Example + +```ts +const vault = await reddit.getVaultByAddress('0x205ee28744456bDBf180A0Fa7De51e0F116d54Ed'); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getVaultByAddress`](RedditClient.md#getvaultbyaddress) + +*** + + + +### getVaultByUserId() + +> **getVaultByUserId**(`userId`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +Gets a [Vault](../type-aliases/Vault.md) for the specified user. + +#### Parameters + +##### userId + +`string` + +The ID (starting with t2_) of the Vault owner. + +#### Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +#### Example + +```ts +const vault = await reddit.getVaultByUserId('t2_1w72'); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`getVaultByUserId`](RedditClient.md#getvaultbyuserid) + +*** + + + +### getWidgets() + +> **getWidgets**(`subredditName`): `Promise`\<[`Widget`](Widget.md)[]\> + +Get the widgets for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the widgets for. + +#### Returns + +`Promise`\<[`Widget`](Widget.md)[]\> + +- An array of Widget objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getWidgets`](RedditClient.md#getwidgets) + +*** + + + +### getWikiContributors() + +> **getWikiContributors**(`options`): [`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +Get a list of users who are wiki contributors of a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +A Listing of SubredditWikiContributorUser objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getWikiContributors`](RedditClient.md#getwikicontributors) + +*** + + + +### getWikiPage() + +> **getWikiPage**(`subredditName`, `page`, `revisionId`?): `Promise`\<[`WikiPage`](WikiPage.md)\> + +Get a wiki page from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the wiki page from. + +##### page + +`string` + +The name of the wiki page to get. + +##### revisionId? + +`` `${string}-${string}-${string}-${string}-${string}` `` + +The revision ID of the wiki page version to get. Setting this value will return the wiki page +version at that revision, and leaving it empty will return the latest version. + +#### Returns + +`Promise`\<[`WikiPage`](WikiPage.md)\> + +The requested WikiPage object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getWikiPage`](RedditClient.md#getwikipage) + +*** + + + +### getWikiPageRevisions() + +> **getWikiPageRevisions**(`options`): [`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\> + +Get the revisions for a wiki page. + +#### Parameters + +##### options + +[`GetPageRevisionsOptions`](../type-aliases/GetPageRevisionsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\> + +A Listing of WikiPageRevision objects. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getWikiPageRevisions`](RedditClient.md#getwikipagerevisions) + +*** + + + +### getWikiPages() + +> **getWikiPages**(`subredditName`): `Promise`\<`string`[]\> + +Get the wiki pages for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the wiki pages from. + +#### Returns + +`Promise`\<`string`[]\> + +A list of the wiki page names for the subreddit. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getWikiPages`](RedditClient.md#getwikipages) + +*** + + + +### getWikiPageSettings() + +> **getWikiPageSettings**(`subredditName`, `page`): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Get the settings for a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to get the settings for. + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +A WikiPageSettings object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`getWikiPageSettings`](RedditClient.md#getwikipagesettings) + +*** + + + +### inviteModerator() + +> **inviteModerator**(`options`): `Promise`\<`void`\> + +Invite a user to become a moderator of a subreddit. + +#### Parameters + +##### options + +`InviteModeratorOptions` + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`inviteModerator`](RedditClient.md#invitemoderator) + +*** + + + +### markAllMessagesAsRead() + +> **markAllMessagesAsRead**(): `Promise`\<`void`\> + +Mark all private messages as read. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`markAllMessagesAsRead`](RedditClient.md#markallmessagesasread) + +*** + + + +### mergePostData() + +> **mergePostData**(`postId`, `postData`): `Promise`\<`void`\> + +Merge the postData on a custom post with the postData specified in the input. This performs a shallow merge. + +#### Parameters + +##### postId + +`` `t3_${string}` `` + +##### postData + +[`JSONObject`](../type-aliases/JSONObject.md) + +Represents the postData to be merged with the existing postData. + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be merged. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { currentScore: 55, settings: { theme: 'dark', fontSize: 12 } } + +await post.mergePostData({ settings: { fontSize: 14 } }); +// Result: { currentScore: 55, settings: { fontSize: 14 } } +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`mergePostData`](RedditClient.md#mergepostdata) + +*** + + + +### muteUser() + +> **muteUser**(`options`): `Promise`\<`void`\> + +Mute a user in a subreddit. Muting a user prevents them from sending modmail. + +#### Parameters + +##### options + +`MuteUserOptions` + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`muteUser`](RedditClient.md#muteuser) + +*** + + + +### remove() + +> **remove**(`id`, `isSpam`): `Promise`\<`void`\> + +Remove a post or comment. + +#### Parameters + +##### id + +`string` + +The id of the post (t3_) or comment (t1_) to remove. + +##### isSpam + +`boolean` + +Is the post or comment being removed because it's spam? + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.remove('t3_123456', false); +await reddit.remove('t1_123456', true); +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`remove`](RedditClient.md#remove) + +*** + + + +### removeEditorFromWikiPage() + +> **removeEditorFromWikiPage**(`subredditName`, `page`, `username`): `Promise`\<`void`\> + +Remove an editor from a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to remove the editor from. + +##### username + +`string` + +The username of the user to remove as an editor. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`removeEditorFromWikiPage`](RedditClient.md#removeeditorfromwikipage) + +*** + + + +### removeModerator() + +> **removeModerator**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user as a moderator of a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove as a moderator. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user as a moderator from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`removeModerator`](RedditClient.md#removemoderator) + +*** + + + +### removePostFlair() + +> **removePostFlair**(`subredditName`, `postId`): `Promise`\<`void`\> + +Remove the flair for a post in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to remove the flair from. + +##### postId + +`string` + +The ID of the post to remove the flair from. + +#### Returns + +`Promise`\<`void`\> + +#### Overrides + +[`RedditClient`](RedditClient.md).[`removePostFlair`](RedditClient.md#removepostflair) + +*** + + + +### removeUser() + +> **removeUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user's approval to post in a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove approval from. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user's approval from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`removeUser`](RedditClient.md#removeuser) + +*** + + + +### removeUserFlair() + +> **removeUserFlair**(`subredditName`, `username`): `Promise`\<`void`\> + +Remove the flair for a user in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to remove the flair from. + +##### username + +`string` + +The username of the user to remove the flair from. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`removeUserFlair`](RedditClient.md#removeuserflair) + +*** + + + +### removeWikiContributor() + +> **removeWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user's wiki contributor status for a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove wiki contributor status from. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user's wiki contributor status from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`removeWikiContributor`](RedditClient.md#removewikicontributor) + +*** + + + +### reorderRules() + +> **reorderRules**(`subredditName`, `rules`): `Promise`\<`void`\> + +Reorder the rules in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to reorder the rules for. + +##### rules + +[`Rule`](Rule.md)[] + +Array of Rule objects in the desired order (order is determined by array position). + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`reorderRules`](RedditClient.md#reorderrules) + +*** + + + +### reorderWidgets() + +> **reorderWidgets**(`subredditName`, `orderByIds`): `Promise`\<`void`\> + +Reorder the widgets for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to reorder the widgets for. + +##### orderByIds + +`string`[] + +An array of widget IDs in the order that they should be displayed. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`reorderWidgets`](RedditClient.md#reorderwidgets) + +*** + + + +### report() + +> **report**(`thing`, `options`): `Promise`\<`JsonStatus`\> + +Report a Post or Comment + +The report is sent to the moderators of the subreddit for review. + +#### Parameters + +##### thing + +Post or Comment + +[`Post`](Post.md) | [`Comment`](Comment.md) + +##### options + +Options + +###### reason + +`string` + +Why the thing is reported + +#### Returns + +`Promise`\<`JsonStatus`\> + +#### Example + +```ts +await reddit.report(post, { + reason: 'This is spam!', +}) +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`report`](RedditClient.md#report) + +*** + + + +### revertWikiPage() + +> **revertWikiPage**(`subredditName`, `page`, `revisionId`): `Promise`\<`void`\> + +Revert a wiki page to a previous revision. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to revert. + +##### revisionId + +`string` + +The ID of the revision to revert to. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`revertWikiPage`](RedditClient.md#revertwikipage) + +*** + + + +### revokeModeratorInvite() + +> **revokeModeratorInvite**(`username`, `subredditName`): `Promise`\<`void`\> + +Revoke a moderator invite for a user to a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to revoke the invite for. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to revoke the invite for. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`revokeModeratorInvite`](RedditClient.md#revokemoderatorinvite) + +*** + + + +### sendPrivateMessage() + +> **sendPrivateMessage**(`options`): `Promise`\<`void`\> + +Sends a private message to a user. + +#### Parameters + +##### options + +[`SendPrivateMessageOptions`](../type-aliases/SendPrivateMessageOptions.md) + +The options for sending the message. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the private message was successfully sent. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`sendPrivateMessage`](RedditClient.md#sendprivatemessage) + +*** + + + +### ~~sendPrivateMessageAsSubreddit()~~ + +> **sendPrivateMessageAsSubreddit**(`options`): `Promise`\<`void`\> + +Sends a private message to a user on behalf of a subreddit. + +#### Parameters + +##### options + +[`SendPrivateMessageAsSubredditOptions`](../type-aliases/SendPrivateMessageAsSubredditOptions.md) + +The options for sending the message as a subreddit. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the private message was successfully sent. + +#### Deprecated + +No longer working as expected. Use modMail.createConversation with `isAuthorHidden: true` instead + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`sendPrivateMessageAsSubreddit`](RedditClient.md#sendprivatemessageassubreddit) + +*** + + + +### setModeratorPermissions() + +> **setModeratorPermissions**(`username`, `subredditName`, `permissions`): `Promise`\<`void`\> + +Update the permissions of a moderator of a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to update the permissions for. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit. e.g. 'memes' + +##### permissions + +[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +The permissions to give the user. e.g ['posts', 'wiki'] + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`setModeratorPermissions`](RedditClient.md#setmoderatorpermissions) + +*** + + + +### setPostData() + +> **setPostData**(`postId`, `postData`): `Promise`\<`void`\> + +Set the postData for a custom post. This will replace the existing postData with the postData specified in the input. + +#### Parameters + +##### postId + +`` `t3_${string}` `` + +The ID of the post to set the postData for. + +##### postData + +[`JSONObject`](../type-aliases/JSONObject.md) + +Represents the postData to be set, eg: { currentScore: 55, secretWord: 'barbeque' } + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { settings: { theme: 'dark', fontSize: 12 } } + +await post.setPostData({ + currentScore: 55, + secretWord: 'barbeque', +}); +// Result: { currentScore: 55, secretWord: 'barbeque' } +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`setPostData`](RedditClient.md#setpostdata) + +*** + + + +### setPostFlair() + +> **setPostFlair**(`options`): `Promise`\<`void`\> + +Set the flair for a post in a subreddit. + +#### Parameters + +##### options + +[`SetPostFlairOptions`](../type-aliases/SetPostFlairOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`setPostFlair`](RedditClient.md#setpostflair) + +*** + + + +### setPostStyles() + +> **setPostStyles**(`id`, `styles`): `Promise`\<`void`\> + +**`Experimental`** + +Set the custom styles for a custom post. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +The ID of the post to set styles for. + +##### styles + +The styles to set for the post. If a value isn't specified, its previous value + will be preserved. If `undefined` is passed, all styles will be removed and reset to defaults. + +`undefined` | `CustomPostStylesInput` + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`setPostStyles`](RedditClient.md#setpoststyles) + +*** + + + +### setUserFlair() + +> **setUserFlair**(`options`): `Promise`\<`void`\> + +Set the flair for a user in a subreddit. + +#### Parameters + +##### options + +[`SetUserFlairOptions`](../type-aliases/SetUserFlairOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`setUserFlair`](RedditClient.md#setuserflair) + +*** + + + +### setUserFlairBatch() + +> **setUserFlairBatch**(`subredditName`, `flairs`): `Promise`\<`FlairCsvResult`[]\> + +Set the flair of multiple users in the same subreddit with a single API call. +Can process up to 100 entries at once. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to edit flairs in. + +##### flairs + +[`SetUserFlairBatchConfig`](../type-aliases/SetUserFlairBatchConfig.md)[] + +Array of user flair configuration objects. If both text and cssClass are empty for a given user the flair will be cleared. + +#### Returns + +`Promise`\<`FlairCsvResult`[]\> + +- Array of statuses for each entry provided. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`setUserFlairBatch`](RedditClient.md#setuserflairbatch) + +*** + + + +### submitComment() + +> **submitComment**(`options`): `Promise`\<[`Comment`](Comment.md)\> + +Submit a new comment to a post or comment. + +#### Parameters + +##### options + +[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md) & `object` + +You must provide either `options.text` or `options.richtext` but not both. + +#### Returns + +`Promise`\<[`Comment`](Comment.md)\> + +A Promise that resolves to a Comment object. + +#### Example + +```ts +const comment = await reddit.submitComment({ + id: 't1_1qgif', + text: 'Hello world!', + runAs: 'APP', +}) +``` + +#### Overrides + +[`RedditClient`](RedditClient.md).[`submitComment`](RedditClient.md#submitcomment) + +*** + + + +### submitCustomPost() + +> **submitCustomPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +Submits a new custom post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../type-aliases/SubredditOptions.md) & [`CommonSubmitPostOptions`](../type-aliases/CommonSubmitPostOptions.md) & `object`\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +#### Examples + +```ts +const post = await reddit.submitCustomPost({ + subredditName: 'devvit', + title: 'Hello World', +}); +``` + +By default, `submitCustomPost()` creates a Post on behalf of the App account, but it may be called on behalf of the User making the request by setting the option `runAs: 'USER'`. +When using `runAs: 'USER'` to create an experience Post, you must specify the `userGeneratedContent` option. For example: + +```ts +const post = await reddit.submitCustomPost({ + title: 'My Devvit Post', + runAs: 'USER', + userGeneratedContent: { + text: "hello there", + imageUrls: ["https://styles.redditmedia.com/t5_5wa5ww/styles/communityIcon_wyopomb2xb0a1.png", "https://styles.redditmedia.com/t5_49fkib/styles/bannerBackgroundImage_5a4axis7cku61.png"] + }, + subredditName: context.subredditName, + textFallback: { + text: 'This is a Devvit post!', + }, +}); +``` + +#### See + + - [()\|submitPost()](RedditClient.md#submitpost) + - [()\|crosspost()](RedditClient.md#crosspost) + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`submitCustomPost`](RedditClient.md#submitcustompost) + +*** + + + +### submitPost() + +> **submitPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +Submits a new post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../type-aliases/SubredditOptions.md) & [`SubmitPostOptions`](../type-aliases/SubmitPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +#### Example + +```ts +const post = await reddit.submitPost({ + subredditName: 'devvit', + title: 'Hello World', + richtext: new RichTextBuilder() + .heading({ level: 1 }, (h) => { + h.rawText('Hello world'); + }) + .codeBlock({}, (cb) => cb.rawText('This post was created via the Devvit API')) + .build() +}); +``` + +#### See + + - [()\|submitCustomPost()](RedditClient.md#submitcustompost) + - [()\|crosspost()](RedditClient.md#crosspost) + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`submitPost`](RedditClient.md#submitpost) + +*** + + + +### subscribeToCurrentSubreddit() + +> **subscribeToCurrentSubreddit**(): `Promise`\<`void`\> + +Subscribes to the subreddit in which the app is installed. No-op if the user is already subscribed. +This method will run as user by default. Therefore, you must include SUBSCRIBE_TO_SUBREDDIT +in `permissions.reddit.asUser` in your devvit.json file. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`subscribeToCurrentSubreddit`](RedditClient.md#subscribetocurrentsubreddit) + +*** + + + +### unbanUser() + +> **unbanUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Unban a user from a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to unban. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unban the user from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`unbanUser`](RedditClient.md#unbanuser) + +*** + + + +### unbanWikiContributor() + +> **unbanWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +The username of the user to unban. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unban the user from contributing to the wiki on. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`unbanWikiContributor`](RedditClient.md#unbanwikicontributor) + +*** + + + +### unmuteUser() + +> **unmuteUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Unmute a user in a subreddit. Unmuting a user allows them to send modmail. + +#### Parameters + +##### username + +`string` + +The username of the user to unmute. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unmute the user in. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`unmuteUser`](RedditClient.md#unmuteuser) + +*** + + + +### unsubscribeFromCurrentSubreddit() + +> **unsubscribeFromCurrentSubreddit**(): `Promise`\<`void`\> + +Unsubscribes from the subreddit in which the app is installed. No-op if the user isn't subscribed. +This method will execute as the app account by default. +To unsubscribe on behalf of a user, please contact Reddit. + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`unsubscribeFromCurrentSubreddit`](RedditClient.md#unsubscribefromcurrentsubreddit) + +*** + + + +### updateSubredditRemovalReason() + +> **updateSubredditRemovalReason**(`subredditName`, `reasonId`, `options`): `Promise`\<`void`\> + +Update an existing removal reason in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### reasonId + +`string` + +ID of the removal reason (from get or add). + +##### options + +Options. + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.updateSubredditRemovalReason('askReddit', 'uuid-abc', { + title: 'Spam', + message: 'This post was removed for spam.' +}); +``` + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`updateSubredditRemovalReason`](RedditClient.md#updatesubredditremovalreason) + +*** + + + +### updateWidget() + +> **updateWidget**(`widgetData`): `Promise`\<[`Widget`](Widget.md)\> + +Update a widget for a subreddit. + +#### Parameters + +##### widgetData + +[`UpdateWidgetData`](../type-aliases/UpdateWidgetData.md) + +The data for the widget to update. + +#### Returns + +`Promise`\<[`Widget`](Widget.md)\> + +- The updated Widget object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`updateWidget`](RedditClient.md#updatewidget) + +*** + + + +### updateWikiPage() + +> **updateWikiPage**(`options`): `Promise`\<[`WikiPage`](WikiPage.md)\> + +Update a wiki page. + +#### Parameters + +##### options + +[`UpdateWikiPageOptions`](../type-aliases/UpdateWikiPageOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPage`](WikiPage.md)\> + +The updated WikiPage object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`updateWikiPage`](RedditClient.md#updatewikipage) + +*** + + + +### updateWikiPageSettings() + +> **updateWikiPageSettings**(`options`): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Update the settings for a wiki page. + +#### Parameters + +##### options + +[`UpdatePageSettingsOptions`](../type-aliases/UpdatePageSettingsOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +A WikiPageSettings object. + +#### Inherited from + +[`RedditClient`](RedditClient.md).[`updateWikiPageSettings`](RedditClient.md#updatewikipagesettings) diff --git a/versioned_docs/version-0.14/api/public-api/classes/RedditClient.md b/versioned_docs/version-0.14/api/public-api/classes/RedditClient.md new file mode 100644 index 00000000..5a278c96 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/RedditClient.md @@ -0,0 +1,3555 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: RedditClient + +The Reddit API Client + +To use the Reddit API Client, add it to the plugin configuration at the top of the file. + +## Example + +```ts + +Devvit.configure({ + redditAPI: true, + // other plugins +}) + +// use within one of our capability handlers e.g. Menu Actions, Triggers, Scheduled Job Type, etc +async (event, context) => { + const subreddit = await context.reddit.getSubredditById(context.subredditId); + context.reddit.submitPost({ + subredditName: subreddit.name, + title: 'test post', + text: 'test body', + }) + // additional code +} +``` + +## Extended by + +- [`RedditAPIClient`](RedditAPIClient.md) + +## Constructors + + + +### new RedditClient() + +> **new RedditClient**(): `RedditClient` + +#### Returns + +`RedditClient` + +## Accessors + + + +### modMail + +#### Get Signature + +> **get** **modMail**(): [`ModMailService`](ModMailService.md) + +Get ModMail API object + +##### Example + +```ts +await reddit.modMail.reply({ + body: "Here is my message", + conversationId: "abcd42"; +}) +``` + +##### Returns + +[`ModMailService`](ModMailService.md) + +## Methods + + + +### addEditorToWikiPage() + +> **addEditorToWikiPage**(`subredditName`, `page`, `username`): `Promise`\<`void`\> + +Add an editor to a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to add the editor to. + +##### username + +`string` + +The username of the user to add as an editor. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### addModNote() + +> **addModNote**(`options`): `Promise`\<[`ModNote`](ModNote.md)\> + +Add a mod note. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<[`ModNote`](ModNote.md)\> + +A Promise that resolves if the mod note was successfully added. + +*** + + + +### addRemovalNote() + +> **addRemovalNote**(`options`): `Promise`\<`void`\> + +Add a mod note for why a post or comment was removed + +#### Parameters + +##### options + +`Prettify` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### addSubredditRemovalReason() + +> **addSubredditRemovalReason**(`subredditName`, `options`): `Promise`\<`string`\> + +Add a removal reason to a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### options + +Options. + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`string`\> + +Removal Reason ID + +#### Example + +```ts +const newReason = await reddit.addSubredditRemovalReasons( + 'askReddit', + { + title: 'Spam', + message: 'This is spam!' + } +); +console.log(newReason.id) +``` + +*** + + + +### addWidget() + +> **addWidget**(`widgetData`): `Promise`\<[`Widget`](Widget.md)\> + +Add a widget to a subreddit. + +#### Parameters + +##### widgetData + +[`AddWidgetData`](../type-aliases/AddWidgetData.md) + +The data for the widget to add. + +#### Returns + +`Promise`\<[`Widget`](Widget.md)\> + +- The added Widget object. + +*** + + + +### addWikiContributor() + +> **addWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +Add a user as a wiki contributor for a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to add as a wiki contributor. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to add the user as a wiki contributor. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approve() + +> **approve**(`id`): `Promise`\<`void`\> + +Approve a post or comment. + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to approve. + +`` `t3_${string}` `` | `` `t1_${string}` `` + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.approve('t3_123456'); +await reddit.approve('t1_123456'); +``` + +*** + + + +### approveUser() + +> **approveUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Approve a user to post in a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to approve. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to approve the user in. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banUser() + +> **banUser**(`options`): `Promise`\<`void`\> + +Ban a user from a subreddit. + +#### Parameters + +##### options + +[`BanUserOptions`](../type-aliases/BanUserOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banWikiContributor() + +> **banWikiContributor**(`options`): `Promise`\<`void`\> + +Ban a user from contributing to the wiki on a subreddit. + +#### Parameters + +##### options + +[`BanWikiContributorOptions`](../type-aliases/BanWikiContributorOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createPostFlairTemplate() + +> **createPostFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +Create a post flair template for a subreddit. + +#### Parameters + +##### options + +[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +The created FlairTemplate object. + +*** + + + +### createRule() + +> **createRule**(`subredditName`, `options`): `Promise`\<`void`\> + +Create a new rule in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to add the rule to. + +##### options + +[`CreateRuleOptions`](../type-aliases/CreateRuleOptions.md) + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createShareUrl() + +> **createShareUrl**(`url`): `Promise`\<`string`\> + +Create a short share URL for a Reddit location. + +Valid inputs: +- Absolute Reddit URLs without a query string (e.g., https://reddit.com/r/gamesonreddit) +- URLs with a query string limited to: utm_source, utm_medium, devvitshare + +#### Parameters + +##### url + +`string` + +Full Reddit URL to shorten. Must be absolute and either have no query string or only the allowed query params. + +#### Returns + +`Promise`\<`string`\> + +The shortened share URL (e.g., 'https://reddit.com/s/abc123'). + +#### Note + +old.reddit.com URLs can be shortened but they will redirect to reddit.com. + +#### Throws + +If the input URL is invalid, contains unsupported query parameters, or the share URL cannot be created. + +*** + + + +### createUserFlairTemplate() + +> **createUserFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +Create a user flair template for a subreddit. + +#### Parameters + +##### options + +[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +The created FlairTemplate object. + +*** + + + +### createWikiPage() + +> **createWikiPage**(`options`): `Promise`\<[`WikiPage`](WikiPage.md)\> + +Create a new wiki page for a subreddit. + +#### Parameters + +##### options + +[`CreateWikiPageOptions`](../type-aliases/CreateWikiPageOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPage`](WikiPage.md)\> + +- The created WikiPage object. + +*** + + + +### crosspost() + +> **crosspost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +Crossposts a post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../type-aliases/SubredditOptions.md) & [`CommonSubmitPostOptions`](../type-aliases/CommonSubmitPostOptions.md) & `Required`\<[`SubredditOptions`](../type-aliases/SubredditOptions.md)\> & `object`\> + +Options for crossposting a post + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +- A Promise that resolves to a Post object. + +#### See + + - [()\|submitPost()](#submitpost) + - [()\|submitCustomPost()](#submitcustompost) + +*** + + + +### deleteFlairTemplate() + +> **deleteFlairTemplate**(`subredditName`, `flairTemplateId`): `Promise`\<`void`\> + +Delete a flair template from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to delete the flair template from. + +##### flairTemplateId + +`string` + +The ID of the flair template to delete. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### deleteModNote() + +> **deleteModNote**(`options`): `Promise`\<`boolean`\> + +Delete a mod note. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<`boolean`\> + +True if it was deleted successfully; false otherwise. + +*** + + + +### deleteSubredditRemovalReason() + +> **deleteSubredditRemovalReason**(`subredditName`, `reasonId`): `Promise`\<`void`\> + +Delete a removal reason from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### reasonId + +`string` + +ID of the removal reason (from get or add). + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.deleteSubredditRemovalReason('askReddit', 'uuid-abc'); +``` + +*** + + + +### deleteWidget() + +> **deleteWidget**(`subredditName`, `widgetId`): `Promise`\<`void`\> + +Delete a widget from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to delete the widget from. + +##### widgetId + +`string` + +The ID of the widget to delete. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### editFlairTemplate() + +> **editFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +Edit a flair template for a subreddit. This can be either a post or user flair template. +Note: If you leave any of the options fields as undefined, they will reset to their default values. + +#### Parameters + +##### options + +[`EditFlairTemplateOptions`](../type-aliases/EditFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +The edited FlairTemplate object. + +*** + + + +### filter() + +> **filter**(`id`, `options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters a post or comment. When a post or comment is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to filter. + +`` `t3_${string}` `` | `` `t1_${string}` `` + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the post or comment was filtered successfully. + +*** + + + +### getApprovedUsers() + +> **getApprovedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +Get a list of users who have been approved to post in a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +A Listing of SubredditContributorUser objects. + +*** + + + +### getAppUser() + +> **getAppUser**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +Get the user that the app runs as on the provided metadata. + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object. + +#### Example + +```ts +const user = await reddit.getAppUser(metadata); +``` + +*** + + + +### getBannedUsers() + +> **getBannedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +Get a list of users who are banned from a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +A Listing of SubredditBannedUser objects. + +*** + + + +### getBannedWikiContributors() + +> **getBannedWikiContributors**(`options`): [`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +Get a list of users who are banned from contributing to the wiki on a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +A Listing of SubredditWikiBannedUser objects. + +*** + + + +### getBestPosts() + +> **getBestPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of best posts from the front page. +This method will get the front page for the app account by default. +To get the front page for a user, please contact Reddit. + +#### Parameters + +##### options + +[`ListingFetchOptions`](../type-aliases/ListingFetchOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getBestPosts({ + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getCommentById() + +> **getCommentById**(`id`): `Promise`\<[`Comment`](Comment.md)\> + +Get a [Comment](Comment.md) object by ID + +#### Parameters + +##### id + +`` `t1_${string}` `` + +The ID (starting with t1_) of the comment to retrieve. e.g. t1_1qjpg + +#### Returns + +`Promise`\<[`Comment`](Comment.md)\> + +A Promise that resolves to a Comment object. + +#### Example + +```ts +const comment = await reddit.getCommentById('t1_1qjpg'); +``` + +*** + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get a list of comments from a specific post or comment. + +#### Parameters + +##### options + +[`GetCommentsOptions`](../type-aliases/GetCommentsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Example + +```ts +const comments = await reddit.getComments({ + postId: 't3_1qjpg', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getCommentsAndPostsByUser() + +> **getCommentsAndPostsByUser**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Get a list of posts and comments from a specific user. + +#### Parameters + +##### options + +[`GetUserOverviewOptions`](../type-aliases/GetUserOverviewOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +A Listing of `Post` and `Comment` objects. + +*** + + + +### getCommentsByUser() + +> **getCommentsByUser**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get a list of comments by a specific user. + +#### Parameters + +##### options + +[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +*** + + + +### getControversialPosts() + +> **getControversialPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of controversial posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getControversialPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getCurrentSubreddit() + +> **getCurrentSubreddit**(): `Promise`\<[`Subreddit`](Subreddit.md)\> + +Retrieves the current subreddit. + +#### Returns + +`Promise`\<[`Subreddit`](Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Example + +```ts +const currentSubreddit = await reddit.getCurrentSubreddit(); +``` + +*** + + + +### getCurrentUser() + +> **getCurrentUser**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +Get the current calling user. +Resolves to undefined for logged-out custom post renders. + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object or undefined + +#### Example + +```ts +const user = await reddit.getCurrentUser(); +``` + +*** + + + +### getCurrentUsername() + +> **getCurrentUsername**(): `Promise`\<`undefined` \| `string`\> + +Get the current calling user's username. +Resolves to undefined for logged-out custom post renders. + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +A Promise that resolves to a string representing the username or undefined + +#### Example + +```ts +const username = await reddit.getCurrentUsername(); +``` + +*** + + + +### getDuplicatesForPost() + +> **getDuplicatesForPost**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get posts that shared the same link as the given post. + +#### Parameters + +##### options + +[`GetDuplicatesOptions`](../type-aliases/GetDuplicatesOptions.md) + +Options for the request. Post ID is required, eveything else is optional. + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const duplicates = await reddit.getDuplicatesForPost({ + postId: 't3_abc123', + sort: 'num_comments', + limit: 100 +}).all(); +``` + +*** + + + +### getEdited() + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getHotPosts() + +> **getHotPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of hot posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetHotPostsOptions`](../type-aliases/GetHotPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getHotPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getMessages() + +> **getMessages**(`options`): `Promise`\<[`Listing`](Listing.md)\<[`PrivateMessage`](PrivateMessage.md)\>\> + +Get private messages sent to the currently authenticated user. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<[`Listing`](Listing.md)\<[`PrivateMessage`](PrivateMessage.md)\>\> + +*** + + + +### getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +Get the moderation log for a subreddit. + +#### Parameters + +##### options + +[`GetModerationLogOptions`](../type-aliases/GetModerationLogOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +A Listing of ModAction objects. + +#### Example + +```ts +const modActions = await reddit.getModerationLog({ + subredditName: 'memes', + moderatorUsernames: ['spez'], + type: 'banuser', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getModerators() + +> **getModerators**(`options`): [`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +Get a list of users who are moderators for a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +A Listing of SubredditModeratorUser objects. + +*** + + + +### getModNotes() + +> **getModNotes**(`options`): [`Listing`](Listing.md)\<[`ModNote`](ModNote.md)\> + +Get a list of mod notes related to a user in a subreddit. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`ModNote`](ModNote.md)\> + +A listing of ModNote objects. + +*** + + + +### getModQueue() + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getMutedUsers() + +> **getMutedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +Get a list of users who are muted in a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +A listing of SubredditMutedUser objects. + +*** + + + +### getNewPosts() + +> **getNewPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of new posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptions`](../type-aliases/GetPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getNewPosts({ + subredditName: 'memes', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getPostById() + +> **getPostById**(`id`): `Promise`\<[`Post`](Post.md)\> + +Gets a [Post](Post.md) object by ID + +#### Parameters + +##### id + +`` `t3_${string}` `` + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +A Promise that resolves to a Post object. + +*** + + + +### getPostData() + +> **getPostData**(`id`): `Promise`\<`undefined` \| [`JSONObject`](../type-aliases/JSONObject.md)\> + +Returns PostData, if any, for the post specified by ID. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +#### Returns + +`Promise`\<`undefined` \| [`JSONObject`](../type-aliases/JSONObject.md)\> + +*** + + + +### getPostFlairTemplates() + +> **getPostFlairTemplates**(`subredditName`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +Get the list of post flair templates for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the post flair templates for. + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +A Promise that resolves with an array of FlairTemplate objects. + +*** + + + +### getPostsByUser() + +> **getPostsByUser**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of posts from a specific user. + +#### Parameters + +##### options + +[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +*** + + + +### getPostStyles() + +> **getPostStyles**(`id`): `Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +**`Experimental`** + +Get the custom styles for a custom post. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +The ID of the post to get styles for. + +#### Returns + +`Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +*** + + + +### getReports() + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getRisingPosts() + +> **getRisingPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of hot posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptions`](../type-aliases/GetPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getRisingPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getRules() + +> **getRules**(`subredditName`): `Promise`\<[`Rule`](Rule.md)[]\> + +Get the rules for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the rules for. + +#### Returns + +`Promise`\<[`Rule`](Rule.md)[]\> + +An array of Rule objects. + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(`username`): `Promise`\<`undefined` \| `string`\> + +Get the snoovatar URL for a given username. + +#### Parameters + +##### username + +`string` + +The username of the snoovatar to retrieve + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +A Promise that resolves to a URL of the snoovatar image if it exists. + +*** + + + +### getSpam() + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### ~~getSubredditById()~~ + +> **getSubredditById**(`id`): `Promise`\<`undefined` \| [`Subreddit`](Subreddit.md)\> + +Gets a [Subreddit](Subreddit.md) object by ID + +#### Parameters + +##### id + +`` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +#### Returns + +`Promise`\<`undefined` \| [`Subreddit`](Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Deprecated + +Use [getSubredditInfoById](#getsubredditinfobyid) instead. + +#### Example + +```ts +const memes = await reddit.getSubredditById('t5_2qjpg'); +``` + +*** + + + +### ~~getSubredditByName()~~ + +> **getSubredditByName**(`name`): `Promise`\<[`Subreddit`](Subreddit.md)\> + +Gets a [Subreddit](Subreddit.md) object by name + +#### Parameters + +##### name + +`string` + +The name of a subreddit omitting the r/. This is case insensitive. + +#### Returns + +`Promise`\<[`Subreddit`](Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Deprecated + +Use [getSubredditInfoByName](#getsubredditinfobyname) instead. + +#### Example + +```ts +const askReddit = await reddit.getSubredditByName('askReddit'); +``` + +*** + + + +### getSubredditInfoById() + +> **getSubredditInfoById**(`id`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by ID + +#### Parameters + +##### id + +`` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +#### Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. + +#### Example + +```ts +const memes = await reddit.getSubredditInfoById('t5_2qjpg'); +``` + +*** + + + +### getSubredditInfoByName() + +> **getSubredditInfoByName**(`name`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by name + +#### Parameters + +##### name + +`string` + +The name of a subreddit omitting the r/. This is case insensitive. + +#### Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. + +#### Example + +```ts +const askReddit = await reddit.getSubredditInfoByName('askReddit'); +``` + +*** + + + +### getSubredditLeaderboard() + +> **getSubredditLeaderboard**(`subredditId`): `Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> + +Returns a leaderboard for a given subreddit ID. + +#### Parameters + +##### subredditId + +`` `t5_${string}` `` + +ID of the subreddit for which the leaderboard is being queried. + +#### Returns + +`Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> + +Leaderboard for the given subreddit. + +*** + + + +### getSubredditRemovalReasons() + +> **getSubredditRemovalReasons**(`subredditName`): `Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +Get the list of subreddit's removal reasons (ordered). + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +#### Returns + +`Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +Ordered array of Removal Reasons + +#### Example + +```ts +const reasons = await reddit.getSubredditRemovalReasons('askReddit'); + +for (let reason of reasons) { + console.log(reason.id, reason.message, reason.title) +} +``` + +*** + + + +### getSubredditStyles() + +> **getSubredditStyles**(`subredditId`): `Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> + +Returns the styles for a given subreddit ID. + +#### Parameters + +##### subredditId + +`` `t5_${string}` `` + +ID of the subreddit from which to retrieve the styles. + +#### Returns + +`Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> + +Styles for the given subreddit. + +*** + + + +### getSubscribedSubredditsForCurrentUser() + +> **getSubscribedSubredditsForCurrentUser**(`options`): [`Listing`](Listing.md)\<[`Subreddit`](Subreddit.md)\> + +Returns a listing of subreddits that the current user is subscribed to. +This method will execute as the app account by default. +To execute this on behalf of a user, please contact Reddit. + +#### Parameters + +##### options + +[`GetSubscribedSubredditsForCurrentUserOptions`](../type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) + +#### Returns + +[`Listing`](Listing.md)\<[`Subreddit`](Subreddit.md)\> + +*** + + + +### getTopPosts() + +> **getTopPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get a list of controversial posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getControversialPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getUnmoderated() + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getUserById() + +> **getUserById**(`id`): `Promise`\<`undefined` \| [`User`](User.md)\> + +Gets a [User](User.md) object by ID + +#### Parameters + +##### id + +`` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. e.g. t2_1qjpg + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object. + +#### Example + +```ts +const user = await reddit.getUserById('t2_1qjpg'); +``` + +*** + + + +### getUserByUsername() + +> **getUserByUsername**(`username`): `Promise`\<`undefined` \| [`User`](User.md)\> + +Gets a [User](User.md) object by username + +#### Parameters + +##### username + +`string` + +The username of the user omitting the u/. e.g. 'devvit' + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +A Promise that resolves to a User object or undefined if user is + not found (user doesn't exist, account suspended, etc). + +#### Example + +```ts +const user = await reddit.getUserByUsername('devvit'); +if (user) { + console.log(user) +} +``` + +*** + + + +### getUserFlairTemplates() + +> **getUserFlairTemplates**(`subredditName`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +Get the list of user flair templates for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the user flair templates for. + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +A Promise that resolves with an array of FlairTemplate objects. + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(`username`): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for a given user in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Parameters + +##### username + +`string` + +The username of the user to get the karma for. e.g. 'spez' + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for posts and comments in the subreddit. + +*** + + + +### getVaultByAddress() + +> **getVaultByAddress**(`address`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +Gets a [Vault](../type-aliases/Vault.md) for the specified address. + +#### Parameters + +##### address + +`string` + +The address (starting with 0x) of the Vault. + +#### Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +#### Example + +```ts +const vault = await reddit.getVaultByAddress('0x205ee28744456bDBf180A0Fa7De51e0F116d54Ed'); +``` + +*** + + + +### getVaultByUserId() + +> **getVaultByUserId**(`userId`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +Gets a [Vault](../type-aliases/Vault.md) for the specified user. + +#### Parameters + +##### userId + +`` `t2_${string}` `` + +The ID (starting with t2_) of the Vault owner. + +#### Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +#### Example + +```ts +const vault = await reddit.getVaultByUserId('t2_1w72'); +``` + +*** + + + +### getWidgets() + +> **getWidgets**(`subredditName`): `Promise`\<[`Widget`](Widget.md)[]\> + +Get the widgets for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the widgets for. + +#### Returns + +`Promise`\<[`Widget`](Widget.md)[]\> + +- An array of Widget objects. + +*** + + + +### getWikiContributors() + +> **getWikiContributors**(`options`): [`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +Get a list of users who are wiki contributors of a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +A Listing of SubredditWikiContributorUser objects. + +*** + + + +### getWikiPage() + +> **getWikiPage**(`subredditName`, `page`, `revisionId`?): `Promise`\<[`WikiPage`](WikiPage.md)\> + +Get a wiki page from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the wiki page from. + +##### page + +`string` + +The name of the wiki page to get. + +##### revisionId? + +`` `${string}-${string}-${string}-${string}-${string}` `` + +The revision ID of the wiki page version to get. Setting this value will return the wiki page +version at that revision, and leaving it empty will return the latest version. + +#### Returns + +`Promise`\<[`WikiPage`](WikiPage.md)\> + +The requested WikiPage object. + +*** + + + +### getWikiPageRevisions() + +> **getWikiPageRevisions**(`options`): [`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\> + +Get the revisions for a wiki page. + +#### Parameters + +##### options + +[`GetPageRevisionsOptions`](../type-aliases/GetPageRevisionsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\> + +A Listing of WikiPageRevision objects. + +*** + + + +### getWikiPages() + +> **getWikiPages**(`subredditName`): `Promise`\<`string`[]\> + +Get the wiki pages for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the wiki pages from. + +#### Returns + +`Promise`\<`string`[]\> + +A list of the wiki page names for the subreddit. + +*** + + + +### getWikiPageSettings() + +> **getWikiPageSettings**(`subredditName`, `page`): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Get the settings for a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to get the settings for. + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +A WikiPageSettings object. + +*** + + + +### inviteModerator() + +> **inviteModerator**(`options`): `Promise`\<`void`\> + +Invite a user to become a moderator of a subreddit. + +#### Parameters + +##### options + +`InviteModeratorOptions` + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### markAllMessagesAsRead() + +> **markAllMessagesAsRead**(): `Promise`\<`void`\> + +Mark all private messages as read. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### mergePostData() + +> **mergePostData**(`postId`, `postData`): `Promise`\<`void`\> + +Merge the postData on a custom post with the postData specified in the input. This performs a shallow merge. + +#### Parameters + +##### postId + +`` `t3_${string}` `` + +##### postData + +[`JSONObject`](../type-aliases/JSONObject.md) + +Represents the postData to be merged with the existing postData. + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be merged. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { currentScore: 55, settings: { theme: 'dark', fontSize: 12 } } + +await post.mergePostData({ settings: { fontSize: 14 } }); +// Result: { currentScore: 55, settings: { fontSize: 14 } } +``` + +*** + + + +### muteUser() + +> **muteUser**(`options`): `Promise`\<`void`\> + +Mute a user in a subreddit. Muting a user prevents them from sending modmail. + +#### Parameters + +##### options + +`MuteUserOptions` + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### remove() + +> **remove**(`id`, `isSpam`): `Promise`\<`void`\> + +Remove a post or comment. + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to remove. + +`` `t3_${string}` `` | `` `t1_${string}` `` + +##### isSpam + +`boolean` + +Is the post or comment being removed because it's spam? + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.remove('t3_123456', false); +await reddit.remove('t1_123456', true); +``` + +*** + + + +### removeEditorFromWikiPage() + +> **removeEditorFromWikiPage**(`subredditName`, `page`, `username`): `Promise`\<`void`\> + +Remove an editor from a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to remove the editor from. + +##### username + +`string` + +The username of the user to remove as an editor. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeModerator() + +> **removeModerator**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user as a moderator of a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove as a moderator. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user as a moderator from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removePostFlair() + +> **removePostFlair**(`subredditName`, `postId`): `Promise`\<`void`\> + +Remove the flair for a post in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to remove the flair from. + +##### postId + +`` `t3_${string}` `` + +The ID of the post to remove the flair from. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeUser() + +> **removeUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user's approval to post in a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove approval from. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user's approval from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeUserFlair() + +> **removeUserFlair**(`subredditName`, `username`): `Promise`\<`void`\> + +Remove the flair for a user in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to remove the flair from. + +##### username + +`string` + +The username of the user to remove the flair from. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeWikiContributor() + +> **removeWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user's wiki contributor status for a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove wiki contributor status from. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user's wiki contributor status from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reorderRules() + +> **reorderRules**(`subredditName`, `rules`): `Promise`\<`void`\> + +Reorder the rules in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to reorder the rules for. + +##### rules + +[`Rule`](Rule.md)[] + +Array of Rule objects in the desired order (order is determined by array position). + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reorderWidgets() + +> **reorderWidgets**(`subredditName`, `orderByIds`): `Promise`\<`void`\> + +Reorder the widgets for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to reorder the widgets for. + +##### orderByIds + +`string`[] + +An array of widget IDs in the order that they should be displayed. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### report() + +> **report**(`thing`, `options`): `Promise`\<`JsonStatus`\> + +Report a Post or Comment + +The report is sent to the moderators of the subreddit for review. + +#### Parameters + +##### thing + +Post or Comment + +[`Post`](Post.md) | [`Comment`](Comment.md) + +##### options + +Options + +###### reason + +`string` + +Why the thing is reported + +#### Returns + +`Promise`\<`JsonStatus`\> + +#### Example + +```ts +await reddit.report(post, { + reason: 'This is spam!', +}) +``` + +*** + + + +### revertWikiPage() + +> **revertWikiPage**(`subredditName`, `page`, `revisionId`): `Promise`\<`void`\> + +Revert a wiki page to a previous revision. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to revert. + +##### revisionId + +`string` + +The ID of the revision to revert to. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### revokeModeratorInvite() + +> **revokeModeratorInvite**(`username`, `subredditName`): `Promise`\<`void`\> + +Revoke a moderator invite for a user to a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to revoke the invite for. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to revoke the invite for. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### sendPrivateMessage() + +> **sendPrivateMessage**(`options`): `Promise`\<`void`\> + +Sends a private message to a user. + +#### Parameters + +##### options + +[`SendPrivateMessageOptions`](../type-aliases/SendPrivateMessageOptions.md) + +The options for sending the message. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the private message was successfully sent. + +*** + + + +### ~~sendPrivateMessageAsSubreddit()~~ + +> **sendPrivateMessageAsSubreddit**(`options`): `Promise`\<`void`\> + +Sends a private message to a user on behalf of a subreddit. + +#### Parameters + +##### options + +[`SendPrivateMessageAsSubredditOptions`](../type-aliases/SendPrivateMessageAsSubredditOptions.md) + +The options for sending the message as a subreddit. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the private message was successfully sent. + +#### Deprecated + +No longer working as expected. Use modMail.createConversation with `isAuthorHidden: true` instead + +*** + + + +### setModeratorPermissions() + +> **setModeratorPermissions**(`username`, `subredditName`, `permissions`): `Promise`\<`void`\> + +Update the permissions of a moderator of a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to update the permissions for. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit. e.g. 'memes' + +##### permissions + +[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +The permissions to give the user. e.g ['posts', 'wiki'] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setPostData() + +> **setPostData**(`postId`, `postData`): `Promise`\<`void`\> + +Set the postData for a custom post. This will replace the existing postData with the postData specified in the input. + +#### Parameters + +##### postId + +`` `t3_${string}` `` + +The ID of the post to set the postData for. + +##### postData + +[`JSONObject`](../type-aliases/JSONObject.md) + +Represents the postData to be set, eg: { currentScore: 55, secretWord: 'barbeque' } + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { settings: { theme: 'dark', fontSize: 12 } } + +await post.setPostData({ + currentScore: 55, + secretWord: 'barbeque', +}); +// Result: { currentScore: 55, secretWord: 'barbeque' } +``` + +*** + + + +### setPostFlair() + +> **setPostFlair**(`options`): `Promise`\<`void`\> + +Set the flair for a post in a subreddit. + +#### Parameters + +##### options + +[`SetPostFlairOptions`](../type-aliases/SetPostFlairOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setPostStyles() + +> **setPostStyles**(`id`, `styles`): `Promise`\<`void`\> + +**`Experimental`** + +Set the custom styles for a custom post. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +The ID of the post to set styles for. + +##### styles + +The styles to set for the post. If a value isn't specified, its previous value + will be preserved. If `undefined` is passed, all styles will be removed and reset to defaults. + +`undefined` | `CustomPostStylesInput` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setUserFlair() + +> **setUserFlair**(`options`): `Promise`\<`void`\> + +Set the flair for a user in a subreddit. + +#### Parameters + +##### options + +[`SetUserFlairOptions`](../type-aliases/SetUserFlairOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setUserFlairBatch() + +> **setUserFlairBatch**(`subredditName`, `flairs`): `Promise`\<`FlairCsvResult`[]\> + +Set the flair of multiple users in the same subreddit with a single API call. +Can process up to 100 entries at once. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to edit flairs in. + +##### flairs + +[`SetUserFlairBatchConfig`](../type-aliases/SetUserFlairBatchConfig.md)[] + +Array of user flair configuration objects. If both text and cssClass are empty for a given user the flair will be cleared. + +#### Returns + +`Promise`\<`FlairCsvResult`[]\> + +- Array of statuses for each entry provided. + +*** + + + +### submitComment() + +> **submitComment**(`options`): `Promise`\<[`Comment`](Comment.md)\> + +Submit a new comment to a post or comment. + +#### Parameters + +##### options + +[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md) & `object` + +You must provide either `options.text` or `options.richtext` but not both. + +#### Returns + +`Promise`\<[`Comment`](Comment.md)\> + +A Promise that resolves to a Comment object. + +#### Example + +```ts +const comment = await reddit.submitComment({ + id: 't1_1qgif', + text: 'Hello world!', + runAs: 'APP', +}) +``` + +*** + + + +### submitCustomPost() + +> **submitCustomPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +Submits a new custom post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../type-aliases/SubredditOptions.md) & [`CommonSubmitPostOptions`](../type-aliases/CommonSubmitPostOptions.md) & `object`\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +#### Examples + +```ts +const post = await reddit.submitCustomPost({ + subredditName: 'devvit', + title: 'Hello World', +}); +``` + +By default, `submitCustomPost()` creates a Post on behalf of the App account, but it may be called on behalf of the User making the request by setting the option `runAs: 'USER'`. +When using `runAs: 'USER'` to create an experience Post, you must specify the `userGeneratedContent` option. For example: + +```ts +const post = await reddit.submitCustomPost({ + title: 'My Devvit Post', + runAs: 'USER', + userGeneratedContent: { + text: "hello there", + imageUrls: ["https://styles.redditmedia.com/t5_5wa5ww/styles/communityIcon_wyopomb2xb0a1.png", "https://styles.redditmedia.com/t5_49fkib/styles/bannerBackgroundImage_5a4axis7cku61.png"] + }, + subredditName: context.subredditName, + textFallback: { + text: 'This is a Devvit post!', + }, +}); +``` + +#### See + + - [()\|submitPost()](#submitpost) + - [()\|crosspost()](#crosspost) + +*** + + + +### submitPost() + +> **submitPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +Submits a new post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../type-aliases/SubredditOptions.md) & [`SubmitPostOptions`](../type-aliases/SubmitPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +#### Example + +```ts +const post = await reddit.submitPost({ + subredditName: 'devvit', + title: 'Hello World', + richtext: new RichTextBuilder() + .heading({ level: 1 }, (h) => { + h.rawText('Hello world'); + }) + .codeBlock({}, (cb) => cb.rawText('This post was created via the Devvit API')) + .build() +}); +``` + +#### See + + - [()\|submitCustomPost()](#submitcustompost) + - [()\|crosspost()](#crosspost) + +*** + + + +### subscribeToCurrentSubreddit() + +> **subscribeToCurrentSubreddit**(): `Promise`\<`void`\> + +Subscribes to the subreddit in which the app is installed. No-op if the user is already subscribed. +This method will run as user by default. Therefore, you must include SUBSCRIBE_TO_SUBREDDIT +in `permissions.reddit.asUser` in your devvit.json file. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unbanUser() + +> **unbanUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Unban a user from a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to unban. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unban the user from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unbanWikiContributor() + +> **unbanWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +The username of the user to unban. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unban the user from contributing to the wiki on. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmuteUser() + +> **unmuteUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Unmute a user in a subreddit. Unmuting a user allows them to send modmail. + +#### Parameters + +##### username + +`string` + +The username of the user to unmute. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unmute the user in. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsubscribeFromCurrentSubreddit() + +> **unsubscribeFromCurrentSubreddit**(): `Promise`\<`void`\> + +Unsubscribes from the subreddit in which the app is installed. No-op if the user isn't subscribed. +This method will execute as the app account by default. +To unsubscribe on behalf of a user, please contact Reddit. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateSubredditRemovalReason() + +> **updateSubredditRemovalReason**(`subredditName`, `reasonId`, `options`): `Promise`\<`void`\> + +Update an existing removal reason in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### reasonId + +`string` + +ID of the removal reason (from get or add). + +##### options + +Options. + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.updateSubredditRemovalReason('askReddit', 'uuid-abc', { + title: 'Spam', + message: 'This post was removed for spam.' +}); +``` + +*** + + + +### updateWidget() + +> **updateWidget**(`widgetData`): `Promise`\<[`Widget`](Widget.md)\> + +Update a widget for a subreddit. + +#### Parameters + +##### widgetData + +[`UpdateWidgetData`](../type-aliases/UpdateWidgetData.md) + +The data for the widget to update. + +#### Returns + +`Promise`\<[`Widget`](Widget.md)\> + +- The updated Widget object. + +*** + + + +### updateWikiPage() + +> **updateWikiPage**(`options`): `Promise`\<[`WikiPage`](WikiPage.md)\> + +Update a wiki page. + +#### Parameters + +##### options + +[`UpdateWikiPageOptions`](../type-aliases/UpdateWikiPageOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPage`](WikiPage.md)\> + +The updated WikiPage object. + +*** + + + +### updateWikiPageSettings() + +> **updateWikiPageSettings**(`options`): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Update the settings for a wiki page. + +#### Parameters + +##### options + +[`UpdatePageSettingsOptions`](../type-aliases/UpdatePageSettingsOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +A WikiPageSettings object. diff --git a/versioned_docs/version-0.14/api/public-api/classes/RichTextBuilder.md b/versioned_docs/version-0.14/api/public-api/classes/RichTextBuilder.md new file mode 100644 index 00000000..bb94cc08 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/RichTextBuilder.md @@ -0,0 +1,358 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: RichTextBuilder + +## Mixes + +ParagraphContainer + +## Mixes + +HeadingContainer + +## Mixes + +HorizontalRuleContainer + +## Mixes + +BlockQuoteContainer + +## Mixes + +CodeBlockContainer + +## Mixes + +EmbedContainer + +## Mixes + +ListContainer + +## Mixes + +TableContainer + +## Mixes + +ImageContainer + +## Mixes + +VideoContainer + +## Implements + +- [`ParagraphContainer`](../type-aliases/ParagraphContainer.md)\<`RichTextBuilder`\> +- [`HeadingContainer`](../type-aliases/HeadingContainer.md)\<`RichTextBuilder`\> +- [`HorizontalRuleContainer`](../type-aliases/HorizontalRuleContainer.md)\<`RichTextBuilder`\> +- [`BlockQuoteContainer`](../type-aliases/BlockQuoteContainer.md)\<`RichTextBuilder`\> +- [`CodeBlockContainer`](../type-aliases/CodeBlockContainer.md)\<`RichTextBuilder`\> +- [`EmbedContainer`](../type-aliases/EmbedContainer.md)\<`RichTextBuilder`\> +- [`ListContainer`](../type-aliases/ListContainer.md)\<`RichTextBuilder`\> +- [`TableContainer`](../type-aliases/TableContainer.md)\<`RichTextBuilder`\> +- [`ImageContainer`](../type-aliases/ImageContainer.md)\<`RichTextBuilder`\> +- [`VideoContainer`](../type-aliases/VideoContainer.md)\<`RichTextBuilder`\> + +## Constructors + + + +### new RichTextBuilder() + +> **new RichTextBuilder**(): `RichTextBuilder` + +#### Returns + +`RichTextBuilder` + +## Methods + + + +### animatedImage() + +> **animatedImage**(`_opts`): `RichTextBuilder` + +Append an Animated Image + +#### Parameters + +##### \_opts + +[`MediaOptions`](../type-aliases/MediaOptions.md) + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`ImageContainer.animatedImage` + +*** + + + +### blockQuote() + +> **blockQuote**(`_opts`, `_cb`): `RichTextBuilder` + +Append a Block Quote element + +#### Parameters + +##### \_opts + +[`BlockQuoteOptions`](../type-aliases/BlockQuoteOptions.md) + +##### \_cb + +(`blockQuote`) => `void` + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`BlockQuoteContainer.blockQuote` + +*** + + + +### build() + +> **build**(): `string` + +Serializes the document to a JSON string + +#### Returns + +`string` + +*** + + + +### codeBlock() + +> **codeBlock**(`_opts`, `_cb`): `RichTextBuilder` + +Append a Code Block element + +#### Parameters + +##### \_opts + +[`CodeBlockOptions`](../type-aliases/CodeBlockOptions.md) + +##### \_cb + +(`codeBlock`) => `void` + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`CodeBlockContainer.codeBlock` + +*** + + + +### embed() + +> **embed**(`_opts`): `RichTextBuilder` + +Append an embedded iframe + +#### Parameters + +##### \_opts + +[`EmbedOptions`](../type-aliases/EmbedOptions.md) + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`EmbedContainer.embed` + +*** + + + +### heading() + +> **heading**(`_opts`, `_cb`): `RichTextBuilder` + +Append a Heading + +#### Parameters + +##### \_opts + +[`HeadingOptions`](../type-aliases/HeadingOptions.md) + +##### \_cb + +(`heading`) => `void` + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`HeadingContainer.heading` + +*** + + + +### horizontalRule() + +> **horizontalRule**(): `RichTextBuilder` + +Append a Horizontal Rule + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`HorizontalRuleContainer.horizontalRule` + +*** + + + +### image() + +> **image**(`_opts`): `RichTextBuilder` + +Append an Image + +#### Parameters + +##### \_opts + +[`MediaOptions`](../type-aliases/MediaOptions.md) + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`ImageContainer.image` + +*** + + + +### list() + +> **list**(`_opts`, `_cb`): `RichTextBuilder` + +Append a List + +#### Parameters + +##### \_opts + +[`ListOptions`](../type-aliases/ListOptions.md) + +##### \_cb + +(`list`) => `void` + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`ListContainer.list` + +*** + + + +### paragraph() + +> **paragraph**(`_cb`): `RichTextBuilder` + +Append a Paragraph + +#### Parameters + +##### \_cb + +(`paragraph`) => `void` + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`ParagraphContainer.paragraph` + +*** + + + +### table() + +> **table**(`_cb`): `RichTextBuilder` + +Append a Table + +#### Parameters + +##### \_cb + +(`table`) => `void` + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`TableContainer.table` + +*** + + + +### video() + +> **video**(`_opts`): `RichTextBuilder` + +Append a Video + +#### Parameters + +##### \_opts + +[`VideoOptions`](../type-aliases/VideoOptions.md) + +#### Returns + +`RichTextBuilder` + +#### Implementation of + +`VideoContainer.video` diff --git a/versioned_docs/version-0.14/api/public-api/classes/Rule.md b/versioned_docs/version-0.14/api/public-api/classes/Rule.md new file mode 100644 index 00000000..4608b24b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Rule.md @@ -0,0 +1,283 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Rule + +## Constructors + + + +### new Rule() + +> **new Rule**(`ruleData`, `subredditName`): `Rule` + +#### Parameters + +##### ruleData + +`SubredditAboutRulesResponse_SubredditRule` + +##### subredditName + +`string` + +#### Returns + +`Rule` + +## Accessors + + + +### createdUtc + +#### Get Signature + +> **get** **createdUtc**(): `number` + +The Unix timestamp of when the rule was created. + +##### Returns + +`number` + +*** + + + +### description + +#### Get Signature + +> **get** **description**(): `string` + +The full description of the rule. This appears on your subreddit's sidebar. + +##### Returns + +`string` + +*** + + + +### descriptionHtml + +#### Get Signature + +> **get** **descriptionHtml**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### kind + +#### Get Signature + +> **get** **kind**(): `"comment"` \| `"all"` \| `"link"` + +Which Reddit objects this rule applies to. One of "all", "link" (AKA posts), "comment". + +##### Returns + +`"comment"` \| `"all"` \| `"link"` + +*** + + + +### priority + +#### Get Signature + +> **get** **priority**(): `number` + +The zero-indexed rank of the rule on the subreddit sidebar. Lower numbers appear on top. + +##### Returns + +`number` + +*** + + + +### shortName + +#### Get Signature + +> **get** **shortName**(): `string` + +The name for the rule. + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +The name (without r/ prefix) of the subreddit the rule belongs to. + +##### Returns + +`string` + +*** + + + +### violationReason + +#### Get Signature + +> **get** **violationReason**(): `string` + +Text to show users when reporting content due to this rule. Defaults to the shortName. + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Rule`, `"subredditName"` \| `"description"` \| `"kind"` \| `"violationReason"` \| `"shortName"` \| `"priority"` \| `"createdUtc"`\> & `object` + +#### Returns + +`Pick`\<`Rule`, `"subredditName"` \| `"description"` \| `"kind"` \| `"violationReason"` \| `"shortName"` \| `"priority"` \| `"createdUtc"`\> & `object` + +*** + + + +### update() + +> **update**(`options`): `Promise`\<`void`\> + +Update an existing rule. + +#### Parameters + +##### options + +`Readonly`\<[`UpdateRuleOptions`](../type-aliases/UpdateRuleOptions.md)\> + +New values for an existing rule. All fields are optional. If a field is not provided, the existing value will not be changed. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createRule() + +> `static` **createRule**(`subredditName`, `options`): `Promise`\<`void`\> + +#### Parameters + +##### subredditName + +`string` + +##### options + +`Readonly`\<[`CreateRuleOptions`](../type-aliases/CreateRuleOptions.md)\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### delete() + +> `static` **delete**(`subredditName`, `shortName`): `Promise`\<`void`\> + +#### Parameters + +##### subredditName + +`string` + +##### shortName + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### getRules() + +> `static` **getRules**(`subredditName`): `Promise`\<`Rule`[]\> + +#### Parameters + +##### subredditName + +`string` + +#### Returns + +`Promise`\<`Rule`[]\> + +*** + + + +### reorderRules() + +> `static` **reorderRules**(`subredditName`, `rules`): `Promise`\<`void`\> + +#### Parameters + +##### subredditName + +`string` + +##### rules + +`Rule`[] + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/SettingsClient.md b/versioned_docs/version-0.14/api/public-api/classes/SettingsClient.md new file mode 100644 index 00000000..96625c7a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SettingsClient.md @@ -0,0 +1,59 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SettingsClient + +## Constructors + + + +### new SettingsClient() + +> **new SettingsClient**(): `SettingsClient` + +#### Returns + +`SettingsClient` + +## Methods + + + +### get() + +> **get**\<`T`\>(`name`): `Promise`\<`undefined` \| `T`\> + +#### Type Parameters + +##### T + +`T` = `undefined` \| `string` \| `number` \| `boolean` \| `string`[] + +#### Parameters + +##### name + +`string` + +#### Returns + +`Promise`\<`undefined` \| `T`\> + +*** + + + +### getAll() + +> **getAll**\<`T`\>(): `Promise`\<`T`\> + +#### Type Parameters + +##### T + +`T` *extends* `object` = [`SettingsValues`](../type-aliases/SettingsValues.md) + +#### Returns + +`Promise`\<`T`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/Subreddit.md b/versioned_docs/version-0.14/api/public-api/classes/Subreddit.md new file mode 100644 index 00000000..e7f4353c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Subreddit.md @@ -0,0 +1,1541 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Subreddit + +A class representing a subreddit. + +## Constructors + + + +### new Subreddit() + +> **new Subreddit**(): `Subreddit` + +#### Returns + +`Subreddit` + +## Accessors + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The creation date of the subreddit. + +##### Returns + +`Date` + +*** + + + +### description + +#### Get Signature + +> **get** **description**(): `undefined` \| `string` + +The description of the subreddit. Appears in the sidebar of the subreddit. + +##### Returns + +`undefined` \| `string` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +##### Returns + +`` `t5_${string}` `` + +*** + + + +### language + +#### Get Signature + +> **get** **language**(): `string` + +The language of the subreddit. + +##### Returns + +`string` + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +The name of a subreddit omitting the r/. + +##### Returns + +`string` + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the subreddit is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +*** + + + +### numberOfActiveUsers + +#### Get Signature + +> **get** **numberOfActiveUsers**(): `number` + +The number of active users of the subreddit. + +##### Returns + +`number` + +*** + + + +### numberOfSubscribers + +#### Get Signature + +> **get** **numberOfSubscribers**(): `number` + +The number of subscribers of the subreddit. + +##### Returns + +`number` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path +(R2 bug: subreddit.url is a permalink, and does not have a subreddit.permalink field) + +##### Returns + +`string` + +*** + + + +### postFlairsEnabled + +#### Get Signature + +> **get** **postFlairsEnabled**(): `boolean` + +Whether the post flairs are enabled for this subreddit. + +##### Returns + +`boolean` + +*** + + + +### settings + +#### Get Signature + +> **get** **settings**(): [`SubredditSettings`](../type-aliases/SubredditSettings.md) + +The settings of the subreddit. + +##### Returns + +[`SubredditSettings`](../type-aliases/SubredditSettings.md) + +*** + + + +### title + +#### Get Signature + +> **get** **title**(): `undefined` \| `string` + +The title of the subreddit. + +##### Returns + +`undefined` \| `string` + +*** + + + +### type + +#### Get Signature + +> **get** **type**(): [`SubredditType`](../type-aliases/SubredditType.md) + +The type of subreddit (public, private, etc.). + +##### Returns + +[`SubredditType`](../type-aliases/SubredditType.md) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the subreddit. +(R2 bug: subreddit.url is a permalink path and does not return a fully qualified URL in subreddit.url) + +##### Returns + +`string` + +*** + + + +### userFlairsEnabled + +#### Get Signature + +> **get** **userFlairsEnabled**(): `boolean` + +Whether the user flairs are enabled for this subreddit. + +##### Returns + +`boolean` + +*** + + + +### usersCanAssignPostFlairs + +#### Get Signature + +> **get** **usersCanAssignPostFlairs**(): `boolean` + +Whether the user can assign post flairs. +This is only true if the post flairs are enabled. + +##### Returns + +`boolean` + +*** + + + +### usersCanAssignUserFlairs + +#### Get Signature + +> **get** **usersCanAssignUserFlairs**(): `boolean` + +Whether the user can assign user flairs. +This is only true if the user flairs are enabled. + +##### Returns + +`boolean` + +## Methods + + + +### addRemovalReason() + +> **addRemovalReason**(`options`): `Promise`\<`string`\> + +Add a removal reason to this subreddit. + +#### Parameters + +##### options + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`string`\> + +The new removal reason ID. + +*** + + + +### addWikiContributor() + +> **addWikiContributor**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approveUser() + +> **approveUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banUser() + +> **banUser**(`options`): `Promise`\<`void`\> + +#### Parameters + +##### options + +`Omit`\<[`BanUserOptions`](../type-aliases/BanUserOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banWikiContributor() + +> **banWikiContributor**(`options`): `Promise`\<`void`\> + +#### Parameters + +##### options + +`Omit`\<[`BanWikiContributorOptions`](../type-aliases/BanWikiContributorOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createPostFlairTemplate() + +> **createPostFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +#### Parameters + +##### options + +`Omit`\<[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +*** + + + +### createRule() + +> **createRule**(`options`): `Promise`\<`void`\> + +Create a new subreddit rule. + +#### Parameters + +##### options + +`Readonly`\<[`CreateRuleOptions`](../type-aliases/CreateRuleOptions.md)\> + +Options for creating a new subreddit rule. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createUserFlairTemplate() + +> **createUserFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +#### Parameters + +##### options + +`Omit`\<[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +*** + + + +### crosspost() + +> **crosspost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`CrosspostOptions`](../type-aliases/CrosspostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +*** + + + +### deleteRemovalReason() + +> **deleteRemovalReason**(`reasonId`): `Promise`\<`void`\> + +Delete a removal reason from this subreddit. + +#### Parameters + +##### reasonId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### getApprovedUsers() + +> **getApprovedUsers**(`options`?): [`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +#### Parameters + +##### options? + +`GetUsersOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +*** + + + +### getBannedUsers() + +> **getBannedUsers**(`options`?): [`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +#### Parameters + +##### options? + +`GetUsersOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +*** + + + +### getBannedWikiContributors() + +> **getBannedWikiContributors**(`options`?): [`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +#### Parameters + +##### options? + +`GetUsersOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +*** + + + +### getCommentsAndPostsByIds() + +> **getCommentsAndPostsByIds**(`ids`): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things specified by their fullnames. + +#### Parameters + +##### ids + +`string`[] + +Array of thing full ids (e.g. t3_abc123) + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +#### Example + +```ts +const subreddit = await reddit.getSubredditByName('askReddit'); +const listing = subreddit.getCommentsAndPostsByIds(['t3_abc123', 't1_xyz123']); +const items = await listing.all(); +console.log(items) // [Post, Comment] +``` + +*** + + + +### getControversialPosts() + +> **getControversialPosts**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +#### Parameters + +##### options? + +`Omit`\<[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md), `"subredditName"`\> + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +*** + + + +### getEdited() + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +#### Parameters + +##### options + +`GetModerationLogOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +*** + + + +### getModerators() + +> **getModerators**(`options`?): [`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +#### Parameters + +##### options? + +`GetUsersOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +*** + + + +### getModQueue() + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getMutedUsers() + +> **getMutedUsers**(`options`?): [`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +#### Parameters + +##### options? + +`GetUsersOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +*** + + + +### getPostFlairTemplates() + +> **getPostFlairTemplates**(): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +*** + + + +### getRemovalReasons() + +> **getRemovalReasons**(): `Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +Get the list of this subreddit's removal reasons (ordered). + +#### Returns + +`Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +*** + + + +### getReports() + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getRules() + +> **getRules**(): `Promise`\<[`Rule`](Rule.md)[]\> + +#### Returns + +`Promise`\<[`Rule`](Rule.md)[]\> + +*** + + + +### getSpam() + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getTopPosts() + +> **getTopPosts**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +#### Parameters + +##### options? + +`Omit`\<[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md), `"subredditName"`\> + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +*** + + + +### getUnmoderated() + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`?): [`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md) \| [`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getUserFlair() + +> **getUserFlair**(`options`?): `Promise`\<[`GetUserFlairBySubredditResponse`](../type-aliases/GetUserFlairBySubredditResponse.md)\> + +Get the user flair for the given subreddit. If `usernames` is provided then it will return only the +flair for the specified users. If retrieving the list of flair for a given subreddit and the list is long +then this method will return a `next` field which can be passed into the `after` field on the next call to +retrieve the next slice of data. To retrieve the previous slice of data pass the `prev` field into the `before` field +during the subsequent call. + +#### Parameters + +##### options? + +[`GetUserFlairOptions`](../type-aliases/GetUserFlairOptions.md) + +See interface + +#### Returns + +`Promise`\<[`GetUserFlairBySubredditResponse`](../type-aliases/GetUserFlairBySubredditResponse.md)\> + +#### Examples + +```ts +const subredditName = "mysubreddit" +const subreddit = await reddit.getSubredditByName(subredditName) +const response = await subreddit.getUserFlair(); +const userFlairList = response.users +``` + +```ts +const response = await subreddit.getUserFlair({ after: "t2_awefae"}); +const userFlairList = response.users +``` + +```ts +const response = await subreddit.getUserFlair({ usernames: ['toxictoad', 'badapple']}); +const userFlairList = response.users +``` + +*** + + + +### getUserFlairTemplates() + +> **getUserFlairTemplates**(): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +*** + + + +### getWikiContributors() + +> **getWikiContributors**(`options`?): [`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +#### Parameters + +##### options? + +`GetUsersOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +*** + + + +### inviteModerator() + +> **inviteModerator**(`username`, `permissions`?): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +##### permissions? + +[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### muteUser() + +> **muteUser**(`username`, `note`?): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +##### note? + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeModerator() + +> **removeModerator**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeUser() + +> **removeUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeWikiContributor() + +> **removeWikiContributor**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reorderRules() + +> **reorderRules**(`rules`): `Promise`\<`void`\> + +#### Parameters + +##### rules + +[`Rule`](Rule.md)[] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### revokeModeratorInvite() + +> **revokeModeratorInvite**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setModeratorPermissions() + +> **setModeratorPermissions**(`username`, `permissions`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +##### permissions + +[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### submitCustomPost() + +> **submitCustomPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`SubmitCustomPostOptions`](../type-aliases/SubmitCustomPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +*** + + + +### submitPost() + +> **submitPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`SubmitPostOptions`](../type-aliases/SubmitPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Subreddit`, `"title"` \| `"nsfw"` \| `"id"` \| `"type"` \| `"settings"` \| `"name"` \| `"createdAt"` \| `"description"` \| `"language"` \| `"numberOfSubscribers"` \| `"numberOfActiveUsers"`\> + +#### Returns + +`Pick`\<`Subreddit`, `"title"` \| `"nsfw"` \| `"id"` \| `"type"` \| `"settings"` \| `"name"` \| `"createdAt"` \| `"description"` \| `"language"` \| `"numberOfSubscribers"` \| `"numberOfActiveUsers"`\> + +*** + + + +### unbanUser() + +> **unbanUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unbanWikiContributor() + +> **unbanWikiContributor**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmuteUser() + +> **unmuteUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateRemovalReason() + +> **updateRemovalReason**(`reasonId`, `options`): `Promise`\<`void`\> + +Update a removal reason's title and message in this subreddit. + +#### Parameters + +##### reasonId + +`string` + +##### options + +###### message + +`string` + +###### title + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateSettings() + +> **updateSettings**(`options`): `Promise`\<`void`\> + +Updates subreddit settings via the SiteAdmin API. Current settings are used as the base; +only fields specified in `options` are changed. In order to reset a field to its default value, +pass the default value as the option value. + +#### Parameters + +##### options + +[`SubredditSettingsOptions`](../type-aliases/SubredditSettingsOptions.md) + +Optional settings to apply. Omitted fields are left unchanged. + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +const subreddit = await reddit.getSubredditByName('mysubreddit'); +await subreddit.setSettings({ restrictPosting: true, allowImages: false }); +await subreddit.setSettings({ type: 'restricted', title: 'New Title', description: 'Sidebar text' }); +``` + +*** + + + +### getSubscribedSubredditsForCurrentUser() + +> `static` **getSubscribedSubredditsForCurrentUser**(`options`?): [`Listing`](Listing.md)\<`Subreddit`\> + +#### Parameters + +##### options? + +[`GetSubscribedSubredditsForCurrentUserOptions`](../type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) + +#### Returns + +[`Listing`](Listing.md)\<`Subreddit`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditBannedUser.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditBannedUser.md new file mode 100644 index 00000000..2a88f37c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditBannedUser.md @@ -0,0 +1,609 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditBannedUser + +User on a subreddit's banned list; data from the AboutWhere response. +Use `getBannedUsers()` or `subreddit.getBannedUsers()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Constructors + + + +### new SubredditBannedUser() + +> **new SubredditBannedUser**(): `SubredditBannedUser` + +#### Returns + +`SubredditBannedUser` + +#### Inherited from + +[`User`](User.md).[`constructor`](User.md#constructor) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the ban was created (UTC). + +*** + + + +### daysLeft? + +> `readonly` `optional` **daysLeft**: `number` + +Days remaining on a temporary ban (undefined if permanent). + +*** + + + +### note? + +> `readonly` `optional` **note**: `string` + +Moderator note (visible only to mods). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditBannedUser`, `"date"`\> & `object` + +#### Returns + +`Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditBannedUser`, `"date"`\> & `object` + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditContributorUser.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditContributorUser.md new file mode 100644 index 00000000..e090cd55 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditContributorUser.md @@ -0,0 +1,589 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditContributorUser + +User approved to post in a subreddit (contributor); data from the AboutWhere response. +Use `getApprovedUsers()` or `subreddit.getApprovedUsers()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Constructors + + + +### new SubredditContributorUser() + +> **new SubredditContributorUser**(): `SubredditContributorUser` + +#### Returns + +`SubredditContributorUser` + +#### Inherited from + +[`User`](User.md).[`constructor`](User.md#constructor) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the contributor relationship was created (UTC). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditContributorUser`, `"date"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditContributorUser`, `"date"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditDescription.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditDescription.md new file mode 100644 index 00000000..95838937 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditDescription.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditDescription + +## Constructors + + + +### new SubredditDescription() + +> **new SubredditDescription**(): `SubredditDescription` + +#### Returns + +`SubredditDescription` + +## Properties + + + +### markdown? + +> `optional` **markdown**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditModeratorUser.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditModeratorUser.md new file mode 100644 index 00000000..1b027fd7 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditModeratorUser.md @@ -0,0 +1,618 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditModeratorUser + +Moderator of a subreddit; data from the AboutWhere response. +Use `getModerators()` or `subreddit.getModerators()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Constructors + + + +### new SubredditModeratorUser() + +> **new SubredditModeratorUser**(): `SubredditModeratorUser` + +#### Returns + +`SubredditModeratorUser` + +#### Inherited from + +[`User`](User.md).[`constructor`](User.md#constructor) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the moderator relationship was created (UTC). + +*** + + + +### moderatorInfo + +> `readonly` **moderatorInfo**: `object` + +Moderator relationship data for the subreddit. +Nested to avoid shadowing [User.modPermissions](User.md#modpermissions), which stores permissions across all subreddits. + +#### authorFlairCssClass? + +> `optional` **authorFlairCssClass**: `string` + +User flair CSS class in the subreddit. + +#### authorFlairText? + +> `optional` **authorFlairText**: `string` + +User flair text in the subreddit. + +#### modPermissions + +> **modPermissions**: [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +Moderator permissions for this subreddit. + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditModeratorUser`, `"date"` \| `"moderatorInfo"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditModeratorUser`, `"date"` \| `"moderatorInfo"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditMutedUser.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditMutedUser.md new file mode 100644 index 00000000..0b2ccbd4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditMutedUser.md @@ -0,0 +1,589 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditMutedUser + +User on a subreddit's muted list; data from the AboutWhere response. +Use `getMutedUsers()` or `subreddit.getMutedUsers()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Constructors + + + +### new SubredditMutedUser() + +> **new SubredditMutedUser**(): `SubredditMutedUser` + +#### Returns + +`SubredditMutedUser` + +#### Inherited from + +[`User`](User.md).[`constructor`](User.md#constructor) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the mute was created (UTC). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditMutedUser`, `"date"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditMutedUser`, `"date"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditRulesWidget.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditRulesWidget.md new file mode 100644 index 00000000..8c9d26d4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditRulesWidget.md @@ -0,0 +1,139 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditRulesWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new SubredditRulesWidget() + +> **new SubredditRulesWidget**(`subredditAboutRulesRsp`, `widgetData`, `subredditName`): `SubredditRulesWidget` + +#### Parameters + +##### subredditAboutRulesRsp + +`SubredditAboutRulesResponse` + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`SubredditRulesWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### rules + +#### Get Signature + +> **get** **rules**(): `SubredditRule`[] + +##### Returns + +`SubredditRule`[] + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`SubredditRulesWidget`, `"rules"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`SubredditRulesWidget`, `"rules"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiBannedUser.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiBannedUser.md new file mode 100644 index 00000000..c3890119 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiBannedUser.md @@ -0,0 +1,609 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditWikiBannedUser + +User on a subreddit's wiki-banned list; data from the AboutWhere response. +Use `getBannedWikiContributors()` or `subreddit.getBannedWikiContributors()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Constructors + + + +### new SubredditWikiBannedUser() + +> **new SubredditWikiBannedUser**(): `SubredditWikiBannedUser` + +#### Returns + +`SubredditWikiBannedUser` + +#### Inherited from + +[`User`](User.md).[`constructor`](User.md#constructor) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the wiki ban was created (UTC). + +*** + + + +### daysLeft? + +> `readonly` `optional` **daysLeft**: `number` + +Days remaining on a temporary ban (undefined if permanent). + +*** + + + +### note? + +> `readonly` `optional` **note**: `string` + +Moderator note. + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditWikiBannedUser`, `"date"`\> & `object` + +#### Returns + +`Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditWikiBannedUser`, `"date"`\> & `object` + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiContributorUser.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiContributorUser.md new file mode 100644 index 00000000..8b658583 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiContributorUser.md @@ -0,0 +1,589 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditWikiContributorUser + +User with wiki contributor access; data from the AboutWhere response. +Use `getWikiContributors()` or `subreddit.getWikiContributors()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Constructors + + + +### new SubredditWikiContributorUser() + +> **new SubredditWikiContributorUser**(): `SubredditWikiContributorUser` + +#### Returns + +`SubredditWikiContributorUser` + +#### Inherited from + +[`User`](User.md).[`constructor`](User.md#constructor) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the wiki contributor relationship was created (UTC). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditWikiContributorUser`, `"date"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` & `Pick`\<`SubredditWikiContributorUser`, `"date"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiSettings.md b/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiSettings.md new file mode 100644 index 00000000..1974c5ef --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/SubredditWikiSettings.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: SubredditWikiSettings + +## Constructors + + + +### new SubredditWikiSettings() + +> **new SubredditWikiSettings**(): `SubredditWikiSettings` + +#### Returns + +`SubredditWikiSettings` + +## Properties + + + +### wikiEditMode? + +> `optional` **wikiEditMode**: [`WikiEditMode`](../type-aliases/WikiEditMode.md) diff --git a/versioned_docs/version-0.14/api/public-api/classes/TextAreaWidget.md b/versioned_docs/version-0.14/api/public-api/classes/TextAreaWidget.md new file mode 100644 index 00000000..22960b67 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/TextAreaWidget.md @@ -0,0 +1,149 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: TextAreaWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new TextAreaWidget() + +> **new TextAreaWidget**(`widgetData`, `subredditName`): `TextAreaWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`TextAreaWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +*** + + + +### text + +#### Get Signature + +> **get** **text**(): `string` + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`TextAreaWidget`, `"text"` \| `"styles"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"subredditName"` \| `"id"` \| `"name"`\> & `Pick`\<`TextAreaWidget`, `"text"` \| `"styles"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/public-api/classes/User.md b/versioned_docs/version-0.14/api/public-api/classes/User.md new file mode 100644 index 00000000..12bf38ab --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/User.md @@ -0,0 +1,479 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: User + +A class representing a user. + +## Extended by + +- [`SubredditBannedUser`](SubredditBannedUser.md) +- [`SubredditMutedUser`](SubredditMutedUser.md) +- [`SubredditWikiBannedUser`](SubredditWikiBannedUser.md) +- [`SubredditContributorUser`](SubredditContributorUser.md) +- [`SubredditWikiContributorUser`](SubredditWikiContributorUser.md) +- [`SubredditModeratorUser`](SubredditModeratorUser.md) + +## Constructors + + + +### new User() + +> **new User**(): `User` + +#### Returns + +`User` + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`User`, `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` + +#### Returns + +`Pick`\<`User`, `"nsfw"` \| `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"`\> & `object` diff --git a/versioned_docs/version-0.14/api/public-api/classes/Widget.md b/versioned_docs/version-0.14/api/public-api/classes/Widget.md new file mode 100644 index 00000000..0b1772df --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/Widget.md @@ -0,0 +1,104 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: Widget + +## Extended by + +- [`ImageWidget`](ImageWidget.md) +- [`CalendarWidget`](CalendarWidget.md) +- [`TextAreaWidget`](TextAreaWidget.md) +- [`ButtonWidget`](ButtonWidget.md) +- [`CommunityListWidget`](CommunityListWidget.md) +- [`PostFlairWidget`](PostFlairWidget.md) +- [`CustomWidget`](CustomWidget.md) +- [`SubredditRulesWidget`](SubredditRulesWidget.md) + +## Constructors + + + +### new Widget() + +> **new Widget**(`widgetData`, `subredditName`): `Widget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`Widget` + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Widget`, `"subredditName"` \| `"id"` \| `"name"`\> + +#### Returns + +`Pick`\<`Widget`, `"subredditName"` \| `"id"` \| `"name"`\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/WikiPage.md b/versioned_docs/version-0.14/api/public-api/classes/WikiPage.md new file mode 100644 index 00000000..787a0535 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/WikiPage.md @@ -0,0 +1,295 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: WikiPage + +## Constructors + + + +### new WikiPage() + +> **new WikiPage**(): `WikiPage` + +#### Returns + +`WikiPage` + +## Accessors + + + +### content + +#### Get Signature + +> **get** **content**(): `string` + +The Markdown content of the page. + +##### Returns + +`string` + +*** + + + +### contentHtml + +#### Get Signature + +> **get** **contentHtml**(): `string` + +The HTML content of the page. + +##### Returns + +`string` + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +The name of the page. + +##### Returns + +`string` + +*** + + + +### revisionAuthor + +#### Get Signature + +> **get** **revisionAuthor**(): `undefined` \| [`User`](User.md) + +The author of this revision. + +##### Returns + +`undefined` \| [`User`](User.md) + +*** + + + +### revisionDate + +#### Get Signature + +> **get** **revisionDate**(): `Date` + +The date of the revision. + +##### Returns + +`Date` + +*** + + + +### revisionId + +#### Get Signature + +> **get** **revisionId**(): `` `${string}-${string}-${string}-${string}-${string}` `` + +The ID of the revision. + +##### Returns + +`` `${string}-${string}-${string}-${string}-${string}` `` + +*** + + + +### revisionReason + +#### Get Signature + +> **get** **revisionReason**(): `string` + +The reason for the revision. + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +The name of the subreddit the page is in. + +##### Returns + +`string` + +## Methods + + + +### addEditor() + +> **addEditor**(`username`): `Promise`\<`void`\> + +Add an editor to this page. + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### getRevisions() + +> **getRevisions**(`options`): `Promise`\<[`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\>\> + +Get the revisions for this page. + +#### Parameters + +##### options + +`Omit`\<[`GetPageRevisionsOptions`](../type-aliases/GetPageRevisionsOptions.md), `"subredditName"` \| `"page"`\> + +#### Returns + +`Promise`\<[`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\>\> + +*** + + + +### getSettings() + +> **getSettings**(): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Get the settings for this page. + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +*** + + + +### removeEditor() + +> **removeEditor**(`username`): `Promise`\<`void`\> + +Remove an editor from this page. + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### revertTo() + +> **revertTo**(`revisionId`): `Promise`\<`void`\> + +Revert this page to a previous revision. + +#### Parameters + +##### revisionId + +`` `${string}-${string}-${string}-${string}-${string}` `` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`WikiPage`, `"subredditName"` \| `"name"` \| `"content"` \| `"contentHtml"` \| `"revisionId"` \| `"revisionDate"` \| `"revisionReason"`\> & `object` + +#### Returns + +`Pick`\<`WikiPage`, `"subredditName"` \| `"name"` \| `"content"` \| `"contentHtml"` \| `"revisionId"` \| `"revisionDate"` \| `"revisionReason"`\> & `object` + +*** + + + +### update() + +> **update**(`content`, `reason`?): `Promise`\<`WikiPage`\> + +Update this page. + +#### Parameters + +##### content + +`string` + +##### reason? + +`string` + +#### Returns + +`Promise`\<`WikiPage`\> + +*** + + + +### updateSettings() + +> **updateSettings**(`options`): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Update the settings for this page. + +#### Parameters + +##### options + +`Omit`\<[`UpdatePageSettingsOptions`](../type-aliases/UpdatePageSettingsOptions.md), `"subredditName"` \| `"page"`\> + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/classes/WikiPageRevision.md b/versioned_docs/version-0.14/api/public-api/classes/WikiPageRevision.md new file mode 100644 index 00000000..d2ebced8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/WikiPageRevision.md @@ -0,0 +1,119 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: WikiPageRevision + +## Constructors + + + +### new WikiPageRevision() + +> **new WikiPageRevision**(`data`): `WikiPageRevision` + +#### Parameters + +##### data + +`WikiPageRevision` + +#### Returns + +`WikiPageRevision` + +## Accessors + + + +### author + +#### Get Signature + +> **get** **author**(): [`User`](User.md) + +##### Returns + +[`User`](User.md) + +*** + + + +### date + +#### Get Signature + +> **get** **date**(): `Date` + +##### Returns + +`Date` + +*** + + + +### hidden + +#### Get Signature + +> **get** **hidden**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +*** + + + +### page + +#### Get Signature + +> **get** **page**(): `string` + +##### Returns + +`string` + +*** + + + +### reason + +#### Get Signature + +> **get** **reason**(): `string` + +##### Returns + +`string` + +## Methods + + + +### toJSON() + +> **toJSON**(): `Pick`\<`WikiPageRevision`, `"id"` \| `"hidden"` \| `"reason"` \| `"date"` \| `"page"`\> & `object` + +#### Returns + +`Pick`\<`WikiPageRevision`, `"id"` \| `"hidden"` \| `"reason"` \| `"date"` \| `"page"`\> & `object` diff --git a/versioned_docs/version-0.14/api/public-api/classes/WikiPageSettings.md b/versioned_docs/version-0.14/api/public-api/classes/WikiPageSettings.md new file mode 100644 index 00000000..0f7d3695 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/classes/WikiPageSettings.md @@ -0,0 +1,77 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Class: WikiPageSettings + +## Constructors + + + +### new WikiPageSettings() + +> **new WikiPageSettings**(`data`): `WikiPageSettings` + +#### Parameters + +##### data + +`WikiPageSettings_Data` + +#### Returns + +`WikiPageSettings` + +## Accessors + + + +### editors + +#### Get Signature + +> **get** **editors**(): [`User`](User.md)[] + +##### Returns + +[`User`](User.md)[] + +*** + + + +### listed + +#### Get Signature + +> **get** **listed**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### permLevel + +#### Get Signature + +> **get** **permLevel**(): [`WikiPagePermissionLevel`](../enumerations/WikiPagePermissionLevel.md) + +##### Returns + +[`WikiPagePermissionLevel`](../enumerations/WikiPagePermissionLevel.md) + +## Methods + + + +### toJSON() + +> **toJSON**(): `Pick`\<`WikiPageSettings`, `"listed"` \| `"permLevel"`\> & `object` + +#### Returns + +`Pick`\<`WikiPageSettings`, `"listed"` \| `"permLevel"`\> & `object` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/AboutLocations.md b/versioned_docs/version-0.14/api/public-api/enumerations/AboutLocations.md new file mode 100644 index 00000000..83538b63 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/AboutLocations.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: AboutLocations + +## Enumeration Members + + + +### Edited + +> **Edited**: `"edited"` + +*** + + + +### Modqueue + +> **Modqueue**: `"modqueue"` + +*** + + + +### Reports + +> **Reports**: `"reports"` + +*** + + + +### Spam + +> **Spam**: `"spam"` + +*** + + + +### Unmoderated + +> **Unmoderated**: `"unmoderated"` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/DeletionReason.md b/versioned_docs/version-0.14/api/public-api/enumerations/DeletionReason.md new file mode 100644 index 00000000..d056f6e6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/DeletionReason.md @@ -0,0 +1,61 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: DeletionReason + +## Enumeration Members + + + +### EXPLICIT\_CONTENT + +> **EXPLICIT\_CONTENT**: `5` + +*** + + + +### LEGAL + +> **LEGAL**: `2` + +*** + + + +### OTHER + +> **OTHER**: `3` + +*** + + + +### SPAM + +> **SPAM**: `1` + +*** + + + +### UNKNOWN + +> **UNKNOWN**: `4` + +*** + + + +### UNRECOGNIZED + +> **UNRECOGNIZED**: `-1` + +*** + + + +### UNSPECIFIED\_DELETION\_REASON + +> **UNSPECIFIED\_DELETION\_REASON**: `0` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/EntrypointHeight.md b/versioned_docs/version-0.14/api/public-api/enumerations/EntrypointHeight.md new file mode 100644 index 00000000..6598585d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/EntrypointHeight.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: EntrypointHeight + +The height of the Post entrypoint. This is not expected to change often. + +## Enumeration Members + + + +### HEIGHT\_UNSPECIFIED + +> **HEIGHT\_UNSPECIFIED**: `0` + +*** + + + +### REGULAR + +> **REGULAR**: `1` + +*** + + + +### SHORT + +> **SHORT**: `3` + +*** + + + +### TALL + +> **TALL**: `2` + +*** + + + +### UNRECOGNIZED + +> **UNRECOGNIZED**: `-1` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/EventSource.md b/versioned_docs/version-0.14/api/public-api/enumerations/EventSource.md new file mode 100644 index 00000000..498c18b4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/EventSource.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: EventSource + +## Enumeration Members + + + +### ADMIN + +> **ADMIN**: `2` + +*** + + + +### MODERATOR + +> **MODERATOR**: `3` + +*** + + + +### UNKNOWN\_EVENT\_SOURCE + +> **UNKNOWN\_EVENT\_SOURCE**: `0` + +*** + + + +### UNRECOGNIZED + +> **UNRECOGNIZED**: `-1` + +*** + + + +### USER + +> **USER**: `1` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/FlairType.md b/versioned_docs/version-0.14/api/public-api/enumerations/FlairType.md new file mode 100644 index 00000000..c2db304f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/FlairType.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: FlairType + +## Enumeration Members + + + +### Post + +> **Post**: `"LINK_FLAIR"` + +*** + + + +### User + +> **User**: `"USER_FLAIR"` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/FormattingFlag.md b/versioned_docs/version-0.14/api/public-api/enumerations/FormattingFlag.md new file mode 100644 index 00000000..3bd3d85b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/FormattingFlag.md @@ -0,0 +1,61 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: FormattingFlag + +## Enumeration Members + + + +### bold + +> **bold**: `1` + +*** + + + +### italic + +> **italic**: `2` + +*** + + + +### monospace + +> **monospace**: `64` + +*** + + + +### strikethrough + +> **strikethrough**: `8` + +*** + + + +### subscript + +> **subscript**: `16` + +*** + + + +### superscript + +> **superscript**: `32` + +*** + + + +### underline + +> **underline**: `4` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/ModMailActionType.md b/versioned_docs/version-0.14/api/public-api/enumerations/ModMailActionType.md new file mode 100644 index 00000000..e0e4cd4d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/ModMailActionType.md @@ -0,0 +1,113 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: ModMailActionType + +An ActionType describes a particular logged action within a conversation. For example, +if a mod highlights a conversation, a ModerationAction record with the type `Highlighted` +would be created. + +## Enumeration Members + + + +### Approved + +> **Approved**: `"Approved"` + +*** + + + +### Archived + +> **Archived**: `"Archived"` + +*** + + + +### Banned + +> **Banned**: `"Banned"` + +*** + + + +### Disapproved + +> **Disapproved**: `"Disapproved"` + +*** + + + +### Filtered + +> **Filtered**: `"Filtered"` + +*** + + + +### Highlighted + +> **Highlighted**: `"Highlighted"` + +*** + + + +### Muted + +> **Muted**: `"Muted"` + +*** + + + +### ReportedToAdmins + +> **ReportedToAdmins**: `"ReportedToAdmins"` + +*** + + + +### Unarchived + +> **Unarchived**: `"Unarchived"` + +*** + + + +### Unbanned + +> **Unbanned**: `"Unbanned"` + +*** + + + +### Unfiltered + +> **Unfiltered**: `"Unfiltered"` + +*** + + + +### Unhighlighted + +> **Unhighlighted**: `"Unhighlighted"` + +*** + + + +### Unmuted + +> **Unmuted**: `"Unmuted"` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/ModMailConversationState.md b/versioned_docs/version-0.14/api/public-api/enumerations/ModMailConversationState.md new file mode 100644 index 00000000..1cdc2887 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/ModMailConversationState.md @@ -0,0 +1,53 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: ModMailConversationState + +## Enumeration Members + + + +### Appeals + +> **Appeals**: `"Appeals"` + +*** + + + +### Archived + +> **Archived**: `"Archived"` + +*** + + + +### Filtered + +> **Filtered**: `"Filtered"` + +*** + + + +### InProgress + +> **InProgress**: `"InProgress"` + +*** + + + +### JoinRequests + +> **JoinRequests**: `"JoinRequests"` + +*** + + + +### New + +> **New**: `"New"` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/SettingScope.md b/versioned_docs/version-0.14/api/public-api/enumerations/SettingScope.md new file mode 100644 index 00000000..e0bd642d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/SettingScope.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: SettingScope + +## Enumeration Members + + + +### App + +> **App**: `"app"` + +*** + + + +### Installation + +> **Installation**: `"installation"` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/SocialLinkType.md b/versioned_docs/version-0.14/api/public-api/enumerations/SocialLinkType.md new file mode 100644 index 00000000..f11922a6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/SocialLinkType.md @@ -0,0 +1,213 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: SocialLinkType + +## Enumeration Members + + + +### Beacons + +> **Beacons**: `"BEACONS"` + +*** + + + +### BuyMeACoffee + +> **BuyMeACoffee**: `"BUY_ME_A_COFFEE"` + +*** + + + +### Cameo + +> **Cameo**: `"CAMEO"` + +*** + + + +### CashApp + +> **CashApp**: `"CASH_APP"` + +*** + + + +### Custom + +> **Custom**: `"CUSTOM"` + +*** + + + +### Discord + +> **Discord**: `"DISCORD"` + +*** + + + +### Facebook + +> **Facebook**: `"FACEBOOK"` + +*** + + + +### Indiegogo + +> **Indiegogo**: `"INDIEGOGO"` + +*** + + + +### Instagram + +> **Instagram**: `"INSTAGRAM"` + +*** + + + +### Kickstarter + +> **Kickstarter**: `"KICKSTARTER"` + +*** + + + +### Kofi + +> **Kofi**: `"KOFI"` + +*** + + + +### Linktree + +> **Linktree**: `"LINKTREE"` + +*** + + + +### Onlyfans + +> **Onlyfans**: `"ONLYFANS"` + +*** + + + +### Patreon + +> **Patreon**: `"PATREON"` + +*** + + + +### Paypal + +> **Paypal**: `"PAYPAL"` + +*** + + + +### Reddit + +> **Reddit**: `"REDDIT"` + +*** + + + +### Shopify + +> **Shopify**: `"SHOPIFY"` + +*** + + + +### Soundcloud + +> **Soundcloud**: `"SOUNDCLOUD"` + +*** + + + +### Spotify + +> **Spotify**: `"SPOTIFY"` + +*** + + + +### Substack + +> **Substack**: `"SUBSTACK"` + +*** + + + +### Tiktok + +> **Tiktok**: `"TIKTOK"` + +*** + + + +### Tumblr + +> **Tumblr**: `"TUMBLR"` + +*** + + + +### Twitch + +> **Twitch**: `"TWITCH"` + +*** + + + +### Twitter + +> **Twitter**: `"TWITTER"` + +*** + + + +### Venmo + +> **Venmo**: `"VENMO"` + +*** + + + +### Youtube + +> **Youtube**: `"YOUTUBE"` diff --git a/versioned_docs/version-0.14/api/public-api/enumerations/WikiPagePermissionLevel.md b/versioned_docs/version-0.14/api/public-api/enumerations/WikiPagePermissionLevel.md new file mode 100644 index 00000000..f5f86618 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/enumerations/WikiPagePermissionLevel.md @@ -0,0 +1,35 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Enumeration: WikiPagePermissionLevel + +## Enumeration Members + + + +### APPROVED\_CONTRIBUTORS\_ONLY + +> **APPROVED\_CONTRIBUTORS\_ONLY**: `1` + +Only approved wiki contributors for this page may edit + +*** + + + +### MODS\_ONLY + +> **MODS\_ONLY**: `2` + +Only mods may edit and view + +*** + + + +### SUBREDDIT\_PERMISSIONS + +> **SUBREDDIT\_PERMISSIONS**: `0` + +Use subreddit wiki permissions diff --git a/versioned_docs/version-0.14/api/public-api/functions/getModerationLog.md b/versioned_docs/version-0.14/api/public-api/functions/getModerationLog.md new file mode 100644 index 00000000..5138fb8c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getModerationLog.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](../classes/Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +## Parameters + +### options + +[`GetModerationLogOptions`](../type-aliases/GetModerationLogOptions.md) + +## Returns + +[`Listing`](../classes/Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/functions/getSubredditInfoById.md b/versioned_docs/version-0.14/api/public-api/functions/getSubredditInfoById.md new file mode 100644 index 00000000..9b220ca4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getSubredditInfoById.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getSubredditInfoById() + +> **getSubredditInfoById**(`subredditId`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by ID + +## Parameters + +### subredditId + +`` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +## Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. diff --git a/versioned_docs/version-0.14/api/public-api/functions/getSubredditInfoByName.md b/versioned_docs/version-0.14/api/public-api/functions/getSubredditInfoByName.md new file mode 100644 index 00000000..6b03b29f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getSubredditInfoByName.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getSubredditInfoByName() + +> **getSubredditInfoByName**(`subredditName`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by name + +## Parameters + +### subredditName + +`string` + +The name of a subreddit omitting the r/. This is case-insensitive. + +## Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. diff --git a/versioned_docs/version-0.14/api/public-api/functions/getSubredditLeaderboard.md b/versioned_docs/version-0.14/api/public-api/functions/getSubredditLeaderboard.md new file mode 100644 index 00000000..4f805602 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getSubredditLeaderboard.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getSubredditLeaderboard() + +> **getSubredditLeaderboard**(`subredditId`): `Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> + +## Parameters + +### subredditId + +`` `t5_${string}` `` + +## Returns + +`Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/functions/getSubredditStyles.md b/versioned_docs/version-0.14/api/public-api/functions/getSubredditStyles.md new file mode 100644 index 00000000..feb2a743 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getSubredditStyles.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getSubredditStyles() + +> **getSubredditStyles**(`subredditId`): `Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> + +## Parameters + +### subredditId + +`` `t5_${string}` `` + +## Returns + +`Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/functions/getVaultByAddress.md b/versioned_docs/version-0.14/api/public-api/functions/getVaultByAddress.md new file mode 100644 index 00000000..cd4ee1c4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getVaultByAddress.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getVaultByAddress() + +> **getVaultByAddress**(`address`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +## Parameters + +### address + +`string` + +## Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/functions/getVaultByUserId.md b/versioned_docs/version-0.14/api/public-api/functions/getVaultByUserId.md new file mode 100644 index 00000000..a27ab570 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/functions/getVaultByUserId.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Function: getVaultByUserId() + +> **getVaultByUserId**(`userId`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +## Parameters + +### userId + +`` `t2_${string}` `` + +## Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/BlockQuoteContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/BlockQuoteContext.md new file mode 100644 index 00000000..4ed3fa70 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/BlockQuoteContext.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: BlockQuoteContext + +## Borrows + +ParagraphContainer + +## Extends + +- [`ParagraphContainer`](../type-aliases/ParagraphContainer.md)\<`BlockQuoteContext`\> + +## Methods + + + +### paragraph() + +> **paragraph**(`cb`): `BlockQuoteContext` + +Append a Paragraph + +#### Parameters + +##### cb + +(`paragraph`) => `void` + +scoped callback to add child elements to this Paragraph + +#### Returns + +`BlockQuoteContext` + +#### Inherited from + +[`ParagraphContainer`](../type-aliases/ParagraphContainer.md).[`paragraph`](../type-aliases/ParagraphContainer.md#paragraph) diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/CodeBlockContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/CodeBlockContext.md new file mode 100644 index 00000000..d66cf788 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/CodeBlockContext.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: CodeBlockContext + +## Borrows + +RawTextContainer + +## Extends + +- [`RawTextContainer`](../type-aliases/RawTextContainer.md)\<`CodeBlockContext`\> + +## Methods + + + +### rawText() + +> **rawText**(`text`): `CodeBlockContext` + +Append unstyled text + +#### Parameters + +##### text + +`string` + +#### Returns + +`CodeBlockContext` + +#### Inherited from + +[`RawTextContainer`](../type-aliases/RawTextContainer.md).[`rawText`](../type-aliases/RawTextContainer.md#rawtext) diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/HeadingContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/HeadingContext.md new file mode 100644 index 00000000..9408b1a8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/HeadingContext.md @@ -0,0 +1,199 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: HeadingContext + +## Borrows + +RawTextContainer + +## Borrows + +LinkContainer + +## Extends + +- [`RawTextContainer`](../type-aliases/RawTextContainer.md)\<`HeadingContext`\>.[`LinkContainer`](../type-aliases/LinkContainer.md)\<`HeadingContext`\> + +## Methods + + + +### commentLink() + +> **commentLink**(`opts`): `HeadingContext` + +Append a link to a Reddit Comment + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[CommentLinkOptions](../type-aliases/CommentLinkOptions.md) + +#### Returns + +`HeadingContext` + +#### Inherited from + +`LinkContainer.commentLink` + +*** + + + +### link() + +> **link**(`opts`): `HeadingContext` + +Append a Link + +#### Parameters + +##### opts + +[`LinkOptions`](../type-aliases/LinkOptions.md) + +[LinkOptions](../type-aliases/LinkOptions.md) + +#### Returns + +`HeadingContext` + +#### Inherited from + +`LinkContainer.link` + +*** + + + +### postLink() + +> **postLink**(`opts`): `HeadingContext` + +Append a link to a Reddit Post + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[PostLinkOptions](../type-aliases/PostLinkOptions.md) + +#### Returns + +`HeadingContext` + +#### Inherited from + +`LinkContainer.postLink` + +*** + + + +### rawText() + +> **rawText**(`text`): `HeadingContext` + +Append unstyled text + +#### Parameters + +##### text + +`string` + +#### Returns + +`HeadingContext` + +#### Inherited from + +[`RawTextContainer`](../type-aliases/RawTextContainer.md).[`rawText`](../type-aliases/RawTextContainer.md#rawtext) + +*** + + + +### subredditLink() + +> **subredditLink**(`opts`): `HeadingContext` + +Append a link to a Reddit Subreddit + +#### Parameters + +##### opts + +[`SubredditLinkOptions`](../type-aliases/SubredditLinkOptions.md) + +[SubredditLinkOptions](../type-aliases/SubredditLinkOptions.md) + +#### Returns + +`HeadingContext` + +#### Inherited from + +`LinkContainer.subredditLink` + +*** + + + +### userLink() + +> **userLink**(`opts`): `HeadingContext` + +Append a link to a Reddit User + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserLinkOptions](../type-aliases/UserLinkOptions.md) + +#### Returns + +`HeadingContext` + +#### Inherited from + +`LinkContainer.userLink` + +*** + + + +### userMention() + +> **userMention**(`opts`): `HeadingContext` + +Append a link to a Reddit User as a + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserMentionOptions](../type-aliases/UserMentionOptions.md) + +#### Returns + +`HeadingContext` + +#### Mention + +#### Inherited from + +`LinkContainer.userMention` diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/ListContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/ListContext.md new file mode 100644 index 00000000..f54ec128 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/ListContext.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: ListContext + +## Borrows + +ListItemContainer + +## Extends + +- [`ListItemContainer`](../type-aliases/ListItemContainer.md)\<`ListContext`\> + +## Methods + + + +### item() + +> **item**(`cb`): `ListContext` + +Append a List Item to a List + +#### Parameters + +##### cb + +(`item`) => `void` + +scoped callback to add child elements to this List Item + +#### Returns + +`ListContext` + +#### Inherited from + +[`ListItemContainer`](../type-aliases/ListItemContainer.md).[`item`](../type-aliases/ListItemContainer.md#item) diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/ListItemContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/ListItemContext.md new file mode 100644 index 00000000..d981a49f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/ListItemContext.md @@ -0,0 +1,233 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: ListItemContext + +## Borrows + +BlockQuoteContainer + +## Borrows + +CodeBlockContainer + +## Borrows + +HeadingContainer + +## Borrows + +HorizontalRuleContainer + +## Borrows + +ListContainer + +## Borrows + +ParagraphContainer + +## Borrows + +TableContainer + +## Extends + +- [`BlockQuoteContainer`](../type-aliases/BlockQuoteContainer.md)\<`ListItemContext`\>.[`CodeBlockContainer`](../type-aliases/CodeBlockContainer.md)\<`ListItemContext`\>.[`HeadingContainer`](../type-aliases/HeadingContainer.md)\<`ListItemContext`\>.[`HorizontalRuleContainer`](../type-aliases/HorizontalRuleContainer.md)\<`ListItemContext`\>.[`ListContainer`](../type-aliases/ListContainer.md)\<`ListItemContext`\>.[`ParagraphContainer`](../type-aliases/ParagraphContainer.md)\<`ListItemContext`\>.[`TableContainer`](../type-aliases/TableContainer.md)\<`ListItemContext`\> + +## Methods + + + +### blockQuote() + +> **blockQuote**(`opts`, `cb`): `ListItemContext` + +Append a Block Quote element + +#### Parameters + +##### opts + +[`BlockQuoteOptions`](../type-aliases/BlockQuoteOptions.md) + +##### cb + +(`blockQuote`) => `void` + +scoped callback to add child elements to this Block Quote + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`BlockQuoteContainer`](../type-aliases/BlockQuoteContainer.md).[`blockQuote`](../type-aliases/BlockQuoteContainer.md#blockquote) + +*** + + + +### codeBlock() + +> **codeBlock**(`opts`, `cb`): `ListItemContext` + +Append a Code Block element + +#### Parameters + +##### opts + +[`CodeBlockOptions`](../type-aliases/CodeBlockOptions.md) + +[CodeBlockOptions](../type-aliases/CodeBlockOptions.md) + +##### cb + +(`codeBlock`) => `void` + +scoped callback to add child elements to this Code Block + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`CodeBlockContainer`](../type-aliases/CodeBlockContainer.md).[`codeBlock`](../type-aliases/CodeBlockContainer.md#codeblock) + +*** + + + +### heading() + +> **heading**(`opts`, `cb`): `ListItemContext` + +Append a Heading + +#### Parameters + +##### opts + +[`HeadingOptions`](../type-aliases/HeadingOptions.md) + +[HeadingOptions](../type-aliases/HeadingOptions.md) + +##### cb + +(`heading`) => `void` + +scoped callback to add child elements to this Heading + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`HeadingContainer`](../type-aliases/HeadingContainer.md).[`heading`](../type-aliases/HeadingContainer.md#heading) + +*** + + + +### horizontalRule() + +> **horizontalRule**(): `ListItemContext` + +Append a Horizontal Rule + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`HorizontalRuleContainer`](../type-aliases/HorizontalRuleContainer.md).[`horizontalRule`](../type-aliases/HorizontalRuleContainer.md#horizontalrule) + +*** + + + +### list() + +> **list**(`opts`, `cb`): `ListItemContext` + +Append a List + +#### Parameters + +##### opts + +[`ListOptions`](../type-aliases/ListOptions.md) + +[ListOptions](../type-aliases/ListOptions.md) + +##### cb + +(`list`) => `void` + +scoped callback to add child elements to this List + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`ListContainer`](../type-aliases/ListContainer.md).[`list`](../type-aliases/ListContainer.md#list) + +*** + + + +### paragraph() + +> **paragraph**(`cb`): `ListItemContext` + +Append a Paragraph + +#### Parameters + +##### cb + +(`paragraph`) => `void` + +scoped callback to add child elements to this Paragraph + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`ParagraphContainer`](../type-aliases/ParagraphContainer.md).[`paragraph`](../type-aliases/ParagraphContainer.md#paragraph) + +*** + + + +### table() + +> **table**(`cb`): `ListItemContext` + +Append a Table + +#### Parameters + +##### cb + +(`table`) => `void` + +scoped callback to add child elements to this Table + +#### Returns + +`ListItemContext` + +#### Inherited from + +[`TableContainer`](../type-aliases/TableContainer.md).[`table`](../type-aliases/TableContainer.md#table) diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/ModAction.md b/versioned_docs/version-0.14/api/public-api/interfaces/ModAction.md new file mode 100644 index 00000000..441f2315 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/ModAction.md @@ -0,0 +1,111 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: ModAction + +## Properties + + + +### createdAt + +> **createdAt**: `Date` + +When the action took place. + +*** + + + +### description? + +> `optional` **description**: `string` + +The string "Page modmail-stats edited: Daily update of the +modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is +made up of `description` and `details`. The "Page modmail-stats edited" is +the "description". + +*** + + + +### details? + +> `optional` **details**: `string` + +The string "Page modmail-stats edited: Daily update of the +modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is +made up of `description` and `details`. The "Daily update of the +modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is +the "details". + +*** + + + +### id + +> **id**: `string` + +A string like `"ModAction_1b1af634-5b87-11f0-a4f1-4ddd27626cc4"` +identifying the ModAction. + +*** + + + +### moderatorId + +> **moderatorId**: `` `t2_${string}` `` + +*** + + + +### moderatorName + +> **moderatorName**: `string` + +The username of the moderator. + +*** + + + +### subredditId + +> **subredditId**: `` `t5_${string}` `` + +The ID of the subreddit the action took place. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the action took place. + +*** + + + +### target? + +> `optional` **target**: [`ModActionTarget`](../type-aliases/ModActionTarget.md) + +Some context of the affected item of the modaction. + +*** + + + +### type + +> **type**: [`ModActionType`](../type-aliases/ModActionType.md) + +The type of the action. Think of what happened. diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/ParagraphContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/ParagraphContext.md new file mode 100644 index 00000000..36ee479d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/ParagraphContext.md @@ -0,0 +1,279 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: ParagraphContext + +## Borrows + +TextContainer + +## Borrows + +ImageContainer + +## Borrows + +LinkContainer + +## Borrows + +LineBreakContainer + +## Extends + +- [`TextContainer`](../type-aliases/TextContainer.md)\<`ParagraphContext`\>.[`ImageContainer`](../type-aliases/ImageContainer.md)\<`ParagraphContext`\>.[`LinkContainer`](../type-aliases/LinkContainer.md)\<`ParagraphContext`\>.[`LineBreakContainer`](../type-aliases/LineBreakContainer.md)\<`ParagraphContext`\> + +## Methods + + + +### animatedImage() + +> **animatedImage**(`opts`): `ParagraphContext` + +Append an Animated Image + +#### Parameters + +##### opts + +[`MediaOptions`](../type-aliases/MediaOptions.md) + +[ImageOptions](../type-aliases/ImageOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +[`ImageContainer`](../type-aliases/ImageContainer.md).[`animatedImage`](../type-aliases/ImageContainer.md#animatedimage) + +*** + + + +### commentLink() + +> **commentLink**(`opts`): `ParagraphContext` + +Append a link to a Reddit Comment + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[CommentLinkOptions](../type-aliases/CommentLinkOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +`LinkContainer.commentLink` + +*** + + + +### image() + +> **image**(`opts`): `ParagraphContext` + +Append an Image + +#### Parameters + +##### opts + +[`MediaOptions`](../type-aliases/MediaOptions.md) + +[ImageOptions](../type-aliases/ImageOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +[`ImageContainer`](../type-aliases/ImageContainer.md).[`image`](../type-aliases/ImageContainer.md#image) + +*** + + + +### linebreak() + +> **linebreak**(): `ParagraphContext` + +Append a Line Break + +#### Returns + +`ParagraphContext` + +#### Inherited from + +[`LineBreakContainer`](../type-aliases/LineBreakContainer.md).[`linebreak`](../type-aliases/LineBreakContainer.md#linebreak) + +*** + + + +### link() + +> **link**(`opts`): `ParagraphContext` + +Append a Link + +#### Parameters + +##### opts + +[`LinkOptions`](../type-aliases/LinkOptions.md) + +[LinkOptions](../type-aliases/LinkOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +`LinkContainer.link` + +*** + + + +### postLink() + +> **postLink**(`opts`): `ParagraphContext` + +Append a link to a Reddit Post + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[PostLinkOptions](../type-aliases/PostLinkOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +`LinkContainer.postLink` + +*** + + + +### subredditLink() + +> **subredditLink**(`opts`): `ParagraphContext` + +Append a link to a Reddit Subreddit + +#### Parameters + +##### opts + +[`SubredditLinkOptions`](../type-aliases/SubredditLinkOptions.md) + +[SubredditLinkOptions](../type-aliases/SubredditLinkOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +`LinkContainer.subredditLink` + +*** + + + +### text() + +> **text**(`opts`): `ParagraphContext` + +Append Text with optional formatting + +#### Parameters + +##### opts + +[`TextOptions`](../type-aliases/TextOptions.md) + +[TextOptions](../type-aliases/TextOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +[`TextContainer`](../type-aliases/TextContainer.md).[`text`](../type-aliases/TextContainer.md#text) + +*** + + + +### userLink() + +> **userLink**(`opts`): `ParagraphContext` + +Append a link to a Reddit User + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserLinkOptions](../type-aliases/UserLinkOptions.md) + +#### Returns + +`ParagraphContext` + +#### Inherited from + +`LinkContainer.userLink` + +*** + + + +### userMention() + +> **userMention**(`opts`): `ParagraphContext` + +Append a link to a Reddit User as a + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserMentionOptions](../type-aliases/UserMentionOptions.md) + +#### Returns + +`ParagraphContext` + +#### Mention + +#### Inherited from + +`LinkContainer.userMention` diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/SpoilerContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/SpoilerContext.md new file mode 100644 index 00000000..cdeea119 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/SpoilerContext.md @@ -0,0 +1,223 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: SpoilerContext + +## Borrows + +TextContainer + +## Borrows + +LinkContainer + +## Borrows + +LineBreakContainer + +## Extends + +- [`TextContainer`](../type-aliases/TextContainer.md)\<`SpoilerContext`\>.[`LinkContainer`](../type-aliases/LinkContainer.md)\<`SpoilerContext`\>.[`LineBreakContainer`](../type-aliases/LineBreakContainer.md)\<`SpoilerContext`\> + +## Methods + + + +### commentLink() + +> **commentLink**(`opts`): `SpoilerContext` + +Append a link to a Reddit Comment + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[CommentLinkOptions](../type-aliases/CommentLinkOptions.md) + +#### Returns + +`SpoilerContext` + +#### Inherited from + +`LinkContainer.commentLink` + +*** + + + +### linebreak() + +> **linebreak**(): `SpoilerContext` + +Append a Line Break + +#### Returns + +`SpoilerContext` + +#### Inherited from + +[`LineBreakContainer`](../type-aliases/LineBreakContainer.md).[`linebreak`](../type-aliases/LineBreakContainer.md#linebreak) + +*** + + + +### link() + +> **link**(`opts`): `SpoilerContext` + +Append a Link + +#### Parameters + +##### opts + +[`LinkOptions`](../type-aliases/LinkOptions.md) + +[LinkOptions](../type-aliases/LinkOptions.md) + +#### Returns + +`SpoilerContext` + +#### Inherited from + +`LinkContainer.link` + +*** + + + +### postLink() + +> **postLink**(`opts`): `SpoilerContext` + +Append a link to a Reddit Post + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[PostLinkOptions](../type-aliases/PostLinkOptions.md) + +#### Returns + +`SpoilerContext` + +#### Inherited from + +`LinkContainer.postLink` + +*** + + + +### subredditLink() + +> **subredditLink**(`opts`): `SpoilerContext` + +Append a link to a Reddit Subreddit + +#### Parameters + +##### opts + +[`SubredditLinkOptions`](../type-aliases/SubredditLinkOptions.md) + +[SubredditLinkOptions](../type-aliases/SubredditLinkOptions.md) + +#### Returns + +`SpoilerContext` + +#### Inherited from + +`LinkContainer.subredditLink` + +*** + + + +### text() + +> **text**(`opts`): `SpoilerContext` + +Append Text with optional formatting + +#### Parameters + +##### opts + +[`TextOptions`](../type-aliases/TextOptions.md) + +[TextOptions](../type-aliases/TextOptions.md) + +#### Returns + +`SpoilerContext` + +#### Inherited from + +[`TextContainer`](../type-aliases/TextContainer.md).[`text`](../type-aliases/TextContainer.md#text) + +*** + + + +### userLink() + +> **userLink**(`opts`): `SpoilerContext` + +Append a link to a Reddit User + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserLinkOptions](../type-aliases/UserLinkOptions.md) + +#### Returns + +`SpoilerContext` + +#### Inherited from + +`LinkContainer.userLink` + +*** + + + +### userMention() + +> **userMention**(`opts`): `SpoilerContext` + +Append a link to a Reddit User as a + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserMentionOptions](../type-aliases/UserMentionOptions.md) + +#### Returns + +`SpoilerContext` + +#### Mention + +#### Inherited from + +`LinkContainer.userMention` diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/TableCellContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/TableCellContext.md new file mode 100644 index 00000000..828055d8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/TableCellContext.md @@ -0,0 +1,257 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: TableCellContext + +## Borrows + +TextContainer + +## Borrows + +LinkContainer + +## Borrows + +ImageContainer + +## Extends + +- [`TextContainer`](../type-aliases/TextContainer.md)\<`TableCellContext`\>.[`LinkContainer`](../type-aliases/LinkContainer.md)\<`TableCellContext`\>.[`ImageContainer`](../type-aliases/ImageContainer.md)\<`TableCellContext`\> + +## Methods + + + +### animatedImage() + +> **animatedImage**(`opts`): `TableCellContext` + +Append an Animated Image + +#### Parameters + +##### opts + +[`MediaOptions`](../type-aliases/MediaOptions.md) + +[ImageOptions](../type-aliases/ImageOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +[`ImageContainer`](../type-aliases/ImageContainer.md).[`animatedImage`](../type-aliases/ImageContainer.md#animatedimage) + +*** + + + +### commentLink() + +> **commentLink**(`opts`): `TableCellContext` + +Append a link to a Reddit Comment + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[CommentLinkOptions](../type-aliases/CommentLinkOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +`LinkContainer.commentLink` + +*** + + + +### image() + +> **image**(`opts`): `TableCellContext` + +Append an Image + +#### Parameters + +##### opts + +[`MediaOptions`](../type-aliases/MediaOptions.md) + +[ImageOptions](../type-aliases/ImageOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +[`ImageContainer`](../type-aliases/ImageContainer.md).[`image`](../type-aliases/ImageContainer.md#image) + +*** + + + +### link() + +> **link**(`opts`): `TableCellContext` + +Append a Link + +#### Parameters + +##### opts + +[`LinkOptions`](../type-aliases/LinkOptions.md) + +[LinkOptions](../type-aliases/LinkOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +`LinkContainer.link` + +*** + + + +### postLink() + +> **postLink**(`opts`): `TableCellContext` + +Append a link to a Reddit Post + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](../type-aliases/RedditPermalinkOptions.md) + +[PostLinkOptions](../type-aliases/PostLinkOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +`LinkContainer.postLink` + +*** + + + +### subredditLink() + +> **subredditLink**(`opts`): `TableCellContext` + +Append a link to a Reddit Subreddit + +#### Parameters + +##### opts + +[`SubredditLinkOptions`](../type-aliases/SubredditLinkOptions.md) + +[SubredditLinkOptions](../type-aliases/SubredditLinkOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +`LinkContainer.subredditLink` + +*** + + + +### text() + +> **text**(`opts`): `TableCellContext` + +Append Text with optional formatting + +#### Parameters + +##### opts + +[`TextOptions`](../type-aliases/TextOptions.md) + +[TextOptions](../type-aliases/TextOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +[`TextContainer`](../type-aliases/TextContainer.md).[`text`](../type-aliases/TextContainer.md#text) + +*** + + + +### userLink() + +> **userLink**(`opts`): `TableCellContext` + +Append a link to a Reddit User + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserLinkOptions](../type-aliases/UserLinkOptions.md) + +#### Returns + +`TableCellContext` + +#### Inherited from + +`LinkContainer.userLink` + +*** + + + +### userMention() + +> **userMention**(`opts`): `TableCellContext` + +Append a link to a Reddit User as a + +#### Parameters + +##### opts + +[`UserLinkOptions`](../type-aliases/UserLinkOptions.md) + +[UserMentionOptions](../type-aliases/UserMentionOptions.md) + +#### Returns + +`TableCellContext` + +#### Mention + +#### Inherited from + +`LinkContainer.userMention` diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/TableContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/TableContext.md new file mode 100644 index 00000000..8fd66466 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/TableContext.md @@ -0,0 +1,71 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: TableContext + +## Borrows + +TableContentContainer + +## Extends + +- [`TableContentContainer`](../type-aliases/TableContentContainer.md)\<`TableContext`\> + +## Methods + + + +### headerCell() + +> **headerCell**(`opts`, `cb`): `TableContext` + +Append a Table Cell to the Table Header + +#### Parameters + +##### opts + +[`TableHeaderCellOptions`](../type-aliases/TableHeaderCellOptions.md) + +[TableHeaderCellOptions](../type-aliases/TableHeaderCellOptions.md) + +##### cb + +(`cell`) => `void` + +scoped callback to add child elements to this Table Header Cell + +#### Returns + +`TableContext` + +#### Inherited from + +[`TableContentContainer`](../type-aliases/TableContentContainer.md).[`headerCell`](../type-aliases/TableContentContainer.md#headercell) + +*** + + + +### row() + +> **row**(`cb`): `TableContext` + +Append a Table Row to the Table + +#### Parameters + +##### cb + +(`row`) => `void` + +scoped callback to add child elements to this Table Row + +#### Returns + +`TableContext` + +#### Inherited from + +[`TableContentContainer`](../type-aliases/TableContentContainer.md).[`row`](../type-aliases/TableContentContainer.md#row) diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/TableRowContext.md b/versioned_docs/version-0.14/api/public-api/interfaces/TableRowContext.md new file mode 100644 index 00000000..95c4d4cd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/TableRowContext.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: TableRowContext + +## Borrows + +TableCellContainer + +## Extends + +- [`TableCellContainer`](../type-aliases/TableCellContainer.md)\<`TableRowContext`\> + +## Methods + + + +### cell() + +> **cell**(`cb`): `TableRowContext` + +Append a Cell to a Table Row + +#### Parameters + +##### cb + +(`cell`) => `void` + +scoped callback to add child elements to this Table Cell + +#### Returns + +`TableRowContext` + +#### Inherited from + +[`TableCellContainer`](../type-aliases/TableCellContainer.md).[`cell`](../type-aliases/TableCellContainer.md#cell) diff --git a/versioned_docs/version-0.14/api/public-api/interfaces/TxClientLike.md b/versioned_docs/version-0.14/api/public-api/interfaces/TxClientLike.md new file mode 100644 index 00000000..e2a89c00 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/interfaces/TxClientLike.md @@ -0,0 +1,2160 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Interface: TxClientLike + +## Extends + +- `TxClientLike` + +## Methods + + + +### del() + +> **del**(...`keys`): `Promise`\<`TxClientLike`\> + +Removes the specified keys. A key is ignored if it does not exist. +https://redis.io/commands/del/ + +#### Parameters + +##### keys + +...`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +keys + +#### Example + +```ts +async function delExample(context: Devvit.Context) { + await context.redis.set("quantity", "5"); + await context.redis.del("quantity"); +} +``` + +#### Inherited from + +`TxClientLikeBase.del` + +*** + + + +### discard() + +> **discard**(): `Promise`\<`void`\> + +Flushes all previously queued commands in a transaction and restores the connection state to normal. +If WATCH was used, DISCARD unwatches all keys watched by the connection. https://redis.io/docs/latest/commands/discard/ + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +async function discardExample(context: Devvit.Context) { + await context.redis.set("price", "25"); + + const txn = await context.redis.watch("price"); + + await txn.multi(); // Begin a transaction + await txn.incrby("price", 5); + await txn.discard(); // Discard the commands in the transaction +} +``` + +#### Inherited from + +`TxClientLikeBase.discard` + +*** + + + +### exec() + +> **exec**(): `Promise`\<`any`[]\> + +Executes all previously queued commands in a transaction and +restores the connection state to normal. https://redis.io/commands/exec/ + +#### Returns + +`Promise`\<`any`[]\> + +array, each element being the reply to each of the commands in the atomic transaction. + +#### Example + +```ts +async function execExample(context: Devvit.Context) { + await context.redis.set("karma", "32"); + + const txn = await context.redis.watch("quantity"); + + await txn.multi(); // Begin a transaction + await txn.incrby("karma", 10); + await txn.exec(); // Execute the commands in the transaction +} +``` + +#### Inherited from + +`TxClientLikeBase.exec` + +*** + + + +### expire() + +> **expire**(`key`, `seconds`): `Promise`\<`TxClientLike`\> + +Set a timeout on key. +https://redis.io/commands/expire/ + +#### Parameters + +##### key + +`string` + +##### seconds + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +key + +#### Arg + +seconds + +#### Example + +```ts +async function expireExample(context: Devvit.Context) { + await context.redis.set("product", "milk"); + await context.redis.expire("product", 60); // Set the product to expire in 60 seconds +} +``` + +#### Inherited from + +`TxClientLikeBase.expire` + +*** + + + +### expireTime() + +> **expireTime**(`key`): `Promise`\<`TxClientLike`\> + +Returns the absolute Unix timestamp in seconds at which the given key will expire +https://redis.io/commands/expiretime/ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +expiration Unix timestamp in seconds, or a negative value in order to signal an error + +#### Arg + +key + +#### Example + +```ts +async function expireTimeExample(context: Devvit.Context) { + await context.redis.set("product", "milk"); + const expireTime : number = await context.redis.expiretime("product"); + console.log("Expire time: " + expireTime); +} +``` + +#### Inherited from + +`TxClientLikeBase.expireTime` + +*** + + + +### get() + +> **get**(`key`): `Promise`\<`TxClientLike`\> + +Get the value of key. If the key does not exist the special value nil is returned. +https://redis.io/commands/get/ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +value of key or null when key does not exist. + +#### Arg + +key + +#### Example + +```ts +async function getExample(context: Devvit.Context) { + await context.redis.set("quantity", "5"); + const quantity : string | undefined = await context.redis.get("quantity"); + console.log("Quantity: " + quantity); +} +``` + +#### Inherited from + +`TxClientLikeBase.get` + +*** + + + +### getRange() + +> **getRange**(`key`, `start`, `end`): `Promise`\<`TxClientLike`\> + +Returns the substring of the string value stored at key, determined by +the offsets start and end (both are inclusive). +https://redis.io/commands/getrange/ + +#### Parameters + +##### key + +`string` + +##### start + +`number` + +##### end + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +substring determined by offsets [start, end] + +#### Arg + +key + +#### Arg + +start + +#### Arg + +end + +#### Example + +```ts +async function getRangeExample(context: Devvit.Context) { + await context.redis.set("word", "tacocat"); + const range : string = await context.redis.getrange("word", 0, 3) + console.log("Range from index 0 to 3: " + range); +} +``` + +#### Inherited from + +`TxClientLikeBase.getRange` + +*** + + + +### ~~hdel()~~ + +> **hdel**(`key`, `fields`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +##### fields + +`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hDel](#hdel-2) instead. + +*** + + + +### hDel() + +> **hDel**(`key`, `fields`): `Promise`\<`TxClientLike`\> + +Removes the specified fields from the hash stored at key. +https://redis.io/commands/hdel/ + +#### Parameters + +##### key + +`string` + +##### fields + +`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of fields that were removed from the hash +```ts +async function hDelExample(context: Devvit.Context) { + await context.redis.hset("fruits", {"apple": "5", "orange": "7", "kiwi": "9"}); + const numFieldsRemoved = await context.redis.hdel("fruits", ["apple", "kiwi"]); + console.log("Number of fields removed: " + numFieldsRemoved); +} +``` + +#### Arg + +key + +#### Arg + +fields + +#### Inherited from + +`TxClientLikeBase.hDel` + +*** + + + +### ~~hget()~~ + +> **hget**(`key`, `field`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hGet](#hget-2) instead. + +*** + + + +### hGet() + +> **hGet**(`key`, `field`): `Promise`\<`TxClientLike`\> + +Returns the value associated with field in the hash stored at key. +https://redis.io/commands/hget + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +value associated with field + +#### Arg + +key + +#### Arg + +field + +#### Example + +```ts +async function hGetExample(context: Devvit.Context) { + await context.redis.hset("fruits", {"apple": "5", "orange": "7", "kiwi": "9"}); + const result : string | undefined = await context.redis.hget("fruits", "orange"); + console.log("Value of orange: " + result); +} +``` + +#### Inherited from + +`TxClientLikeBase.hGet` + +*** + + + +### ~~hgetall()~~ + +> **hgetall**(`key`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hGetAll](#hgetall-2) instead. + +*** + + + +### hGetAll() + +> **hGetAll**(`key`): `Promise`\<`TxClientLike`\> + +Returns all fields and values of the hash stored at key +https://redis.io/commands/hgetall + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +a map of fields and their values stored in the hash, + +#### Arg + +key + +#### Example + +``` +async function hGetAllExample(context: Devvit.Context) { + await context.redis.hset("groceryList", { + "eggs": "12", + "apples": "3", + "milk": "1" + }); + + const record : Record | undefined = await context.redis.hgetall("groceryList"); + + if (record != undefined) { + console.log("Eggs: " + record.eggs + ", Apples: " + record.apples + ", Milk: " + record.milk); + } +} +``` + +#### Inherited from + +`TxClientLikeBase.hGetAll` + +*** + + + +### ~~hincrby()~~ + +> **hincrby**(`key`, `field`, `value`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +##### value + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hIncrBy](#hincrby-2) instead. + +*** + + + +### hIncrBy() + +> **hIncrBy**(`key`, `field`, `value`): `Promise`\<`TxClientLike`\> + +Increments the number stored at field in the hash stored at key by increment. +https://redis.io/commands/hincrby/ + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +##### value + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +value of key after the increment + +#### Arg + +key + +#### Arg + +field + +#### Arg + +value + +#### Example + +```ts +async function hIncrByExample(context: Devvit.Context) { + await context.redis.hset("user123", { "karma": "100" }); + await context.redis.hincrby("user123", "karma", 5); +} +``` + +#### Inherited from + +`TxClientLikeBase.hIncrBy` + +*** + + + +### ~~hkeys()~~ + +> **hkeys**(`key`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hKeys](#hkeys-2) instead. + +*** + + + +### hKeys() + +> **hKeys**(`key`): `Promise`\<`TxClientLike`\> + +Returns all field names in the hash stored at key. + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +key + +#### Example + +```ts +async function hKeysExample(context: Devvit.Context) { + await context.redis.hset("prices", { + "chair": "48", + "desk": "95", + "whiteboard": "23" + }); + const keys : string[] = await context.redis.hkeys("prices"); + console.log("Keys: " + keys); +} +``` + +#### Inherited from + +`TxClientLikeBase.hKeys` + +*** + + + +### ~~hlen()~~ + +> **hlen**(`key`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hLen](#hlen-2) instead. + +*** + + + +### hLen() + +> **hLen**(`key`): `Promise`\<`TxClientLike`\> + +Returns the number of fields contained in the hash stored at key. + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +the number of fields in the hash, or 0 when the key does not exist. + +#### Arg + +key + +#### Example + +```ts +async function hLenExample(context: Devvit.Context) { + await context.redis.hset("supplies", { + "paperclips": "25", + "pencils": "10", + "erasers": "5", + "pens": "7" + }); + const numberOfFields : number = await context.redis.hlen("supplies"); + console.log("Number of fields: " + numberOfFields); +} +``` + +#### Inherited from + +`TxClientLikeBase.hLen` + +*** + + + +### hMGet() + +> **hMGet**(`key`, `fields`): `Promise`\<`TxClientLike`\> + +Returns the values associated with fields in the hash stored at key. +https://redis.io/commands/hmget + +#### Parameters + +##### key + +`string` + +##### fields + +`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +values associated with each field in the order they appear in fields + +#### Arg + +key + +#### Arg + +fields + +#### Example + +```ts +async function hMGetExample(context: Devvit.Context) { + await context.redis.hset("fruits", {"apple": "5", "orange": "7", "kiwi": "9"}); + const result : string[] | undefined = await context.redis.hmget("fruits", ["orange", "grape", "apple"]); + console.log("Value of fields: " + result); // "Value of fields: ["7", undefined, "5"] +} +``` + +#### Inherited from + +`TxClientLikeBase.hMGet` + +*** + + + +### ~~hscan()~~ + +> **hscan**(`key`, `cursor`, `pattern`?, `count`?): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +##### cursor + +`number` + +##### pattern? + +`string` + +##### count? + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hScan](#hscan-2) instead. + +*** + + + +### hScan() + +> **hScan**(`key`, `cursor`, `pattern`?, `count`?): `Promise`\<`TxClientLike`\> + +Iterates fields of Hash types and their associated values. + +#### Parameters + +##### key + +`string` + +##### cursor + +`number` + +##### pattern? + +`string` + +##### count? + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +key + +#### Arg + +cursor + +#### Arg + +pattern + +#### Arg + +count + +#### Example + +```ts +async function hScanExample(context: Devvit.Context) { + await context.redis.hset("userInfo", { + "name": "Bob", + "startDate": "01-05-20", + "totalAwards": "12" + }); + + const hScanResponse = await context.redis.hscan("userInfo", 0); + + hScanResponse.fieldValues.forEach(x => { + console.log("Field: '" + x.field + "', Value: '" + x.value + "'"); + }); +} +``` + +#### Inherited from + +`TxClientLikeBase.hScan` + +*** + + + +### ~~hset()~~ + +> **hset**(`key`, `fieldValues`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +##### fieldValues + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.hSet](#hset-2) instead. + +*** + + + +### hSet() + +> **hSet**(`key`, `fieldValues`): `Promise`\<`TxClientLike`\> + +Sets the specified fields to their respective values in the hash stored at key. +https://redis.io/commands/hset + +#### Parameters + +##### key + +`string` + +##### fieldValues + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of fields that were added + +#### Arg + +key + +#### Arg + +fieldValues + +#### Example + +```ts +async function hSetExample(context: Devvit.Context) { + const numFieldsAdded = await context.redis.hset("fruits", {"apple": "5", "orange": "7", "kiwi": "9"}); + console.log("Number of fields added: " + numFieldsAdded); +} +``` + +#### Inherited from + +`TxClientLikeBase.hSet` + +*** + + + +### hSetNX() + +> **hSetNX**(`key`, `field`, `value`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +##### value + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Inherited from + +`TxClientLikeBase.hSetNX` + +*** + + + +### incrBy() + +> **incrBy**(`key`, `value`): `Promise`\<`TxClientLike`\> + +Increments the number stored at key by increment. +https://redis.io/commands/incrby/ + +#### Parameters + +##### key + +`string` + +##### value + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +key + +#### Arg + +value + +#### Example + +```ts +async function incrByExample(context: Devvit.Context) { + await context.redis.set("totalPoints", "53") + const updatedPoints : number = await context.redis.incrby("totalPoints", 100); + console.log("Updated points: " + updatedPoints); +} +``` + +#### Inherited from + +`TxClientLikeBase.incrBy` + +*** + + + +### ~~mget()~~ + +> **mget**(`keys`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### keys + +`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.mGet](#mget-2) instead. + +*** + + + +### mGet() + +> **mGet**(`keys`): `Promise`\<`TxClientLike`\> + +Returns the values of all specified keys. +https://redis.io/commands/mget/ + +#### Parameters + +##### keys + +`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +list of values at the specified keys + +#### Arg + +keys + +#### Example + +```ts +async function mGetExample(context: Devvit.Context) { + await context.redis.mset({"name": "Zeek", "occupation": "Developer"}); + const result : (string | null)[] = await context.redis.mget(["name", "occupation"]); + result.forEach(x => { + console.log(x); + }); +} +``` + +#### Inherited from + +`TxClientLikeBase.mGet` + +*** + + + +### ~~mset()~~ + +> **mset**(`keyValues`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### keyValues + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.mSet](#mset-2) instead. + +*** + + + +### mSet() + +> **mSet**(`keyValues`): `Promise`\<`TxClientLike`\> + +Sets the given keys to their respective values. +https://redis.io/commands/mset/ + +#### Parameters + +##### keyValues + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +keyValues + +#### Example + +```ts +async function mGetExample(context: Devvit.Context) { + await context.redis.mset({"name": "Zeek", "occupation": "Developer"}); + const result : (string | null)[] = await context.redis.mget(["name", "occupation"]); + result.forEach(x => { + console.log(x); + }); +} +``` + +#### Inherited from + +`TxClientLikeBase.mSet` + +*** + + + +### multi() + +> **multi**(): `Promise`\<`void`\> + +Marks the start of a transaction block. Subsequent commands will be +queued for atomic execution using EXEC. https://redis.io/commands/multi/ + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +async function multiExample(context: Devvit.Context) { + await context.redis.set("karma", "32"); + + const txn = await context.redis.watch("quantity"); + + await txn.multi(); // Begin a transaction + await txn.incrby("karma", 10); + await txn.exec(); // Execute the commands in the transaction +} +``` + +#### Inherited from + +`TxClientLikeBase.multi` + +*** + + + +### set() + +> **set**(`key`, `value`, `options`?): `Promise`\<`TxClientLike`\> + +Set key to hold the string value. If key already holds a value, it is overwritten +https://redis.io/commands/set/ + +#### Parameters + +##### key + +`string` + +##### value + +`string` + +##### options? + +[`SetOptions`](../type-aliases/SetOptions.md) + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +key + +#### Arg + +value + +#### Arg + +options + +#### Example + +```ts +async function setExample(context: Devvit.Context) { + await context.redis.set("quantity", "5"); +} +``` + +#### Inherited from + +`TxClientLikeBase.set` + +*** + + + +### setRange() + +> **setRange**(`key`, `offset`, `value`): `Promise`\<`TxClientLike`\> + +Overwrites part of the string stored at key, starting at the +specified offset, for the entire length of value. +https://redis.io/commands/setrange/ + +#### Parameters + +##### key + +`string` + +##### offset + +`number` + +##### value + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +length of the string after it was modified by the command + +#### Arg + +key + +#### Arg + +offset + +#### Arg + +value + +#### Example + +```ts +async function setRangeExample(context: Devvit.Context) { + await context.redis.set("word", "tacocat"); + await context.redis.setrange("word", 0, "blue"); +} +``` + +#### Inherited from + +`TxClientLikeBase.setRange` + +*** + + + +### ~~strlen()~~ + +> **strlen**(`key`): `Promise`\<`TxClientLike`\> + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Deprecated + +Use [TxClientLike.strLen](#strlen-2) instead. + +*** + + + +### strLen() + +> **strLen**(`key`): `Promise`\<`TxClientLike`\> + +Returns the length of the string value stored at key. +An error is returned when key holds a non-string value. +https://redis.io/commands/strlen/ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +length of the string stored at key + +#### Arg + +key + +#### Example + +```ts +async function strLenExample(context: Devvit.Context) { + await context.redis.set("word", "tacocat"); + const length : number = await context.redis.strlen("word"); + console.log("Length of word: " + length); +} +``` + +#### Inherited from + +`TxClientLikeBase.strLen` + +*** + + + +### type() + +> **type**(`key`): `Promise`\<`TxClientLike`\> + +Returns the string representation of the type of the value stored at key +https://redis.io/commands/type/ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +string representation of the type + +#### Arg + +key + +#### Example + +```ts +async function typeExample(context: Devvit.Context) { + await context.redis.set("quantity", "5"); + const type : string = await context.redis.type("quantity"); + console.log("Key type: " + type); +} +``` + +#### Inherited from + +`TxClientLikeBase.type` + +*** + + + +### unwatch() + +> **unwatch**(): `Promise`\<`TxClientLike`\> + +Flushes all the previously watched keys for a transaction. +If you call EXEC or DISCARD, there's no need to manually call UNWATCH. +https://redis.io/commands/unwatch/ + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Example + +```ts +async function unwatchExample(context: Devvit.Context) { + await context.redis.set("gold", "50"); + + const txn = await context.redis.watch("gold"); + + await txn.multi(); // Begin a transaction + await txn.incrby("gold", 30); + await txn.unwatch(); // Unwatch "gold" + + // Now that "gold" has been unwatched, we can increment its value + // outside the transaction without canceling the transaction + await context.redis.incrby("gold", -20); + + await txn.exec(); // Execute the commands in the transaction + + console.log("Gold value: " + await context.redis.get("gold")); // The value of 'gold' should be 50 + 30 - 20 = 60 +} +``` + +#### Inherited from + +`TxClientLikeBase.unwatch` + +*** + + + +### watch() + +> **watch**(...`keys`): `Promise`\<`TxClientLike`\> + +Marks the given keys to be watched for conditional execution of a transaction. +https://redis.io/commands/watch/ + +#### Parameters + +##### keys + +...`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +keys - given keys to be watched + +#### Example + +```ts +async function watchExample(context: Devvit.Context) { + await context.redis.set("karma", "32"); + + const txn = await context.redis.watch("quantity"); + + await txn.multi(); // Begin a transaction + await txn.incrby("karma", 10); + await txn.exec(); // Execute the commands in the transaction +} +``` + +#### Inherited from + +`TxClientLikeBase.watch` + +*** + + + +### zAdd() + +> **zAdd**(`key`, ...`members`): `Promise`\<`TxClientLike`\> + +Adds all the specified members with the specified scores to the sorted set stored at key. +https://redis.io/commands/zadd/ + +#### Parameters + +##### key + +`string` + +##### members + +...[`ZMember`](../type-aliases/ZMember.md)[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of elements added to the sorted set + +#### Arg + +key + +#### Arg + +members + +#### Example + +```ts +async function zAddExample(context: Devvit.Context) { + const numMembersAdded : number = await context.redis.zadd("leaderboard", + {member: "louis", score: 37}, + {member: "fernando", score: 10}, + {member: "caesar", score: 20}, + {member: "alexander", score: 25}, + ); + console.log("Number of members added: " + numMembersAdded); +} +``` + +#### Inherited from + +`TxClientLikeBase.zAdd` + +*** + + + +### zCard() + +> **zCard**(`key`): `Promise`\<`TxClientLike`\> + +Returns the cardinality (number of elements) of the sorted set stored at key. +https://redis.io/commands/zcard/ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +cardinality of the sorted set + +#### Arg + +key + +#### Example + +```ts +async function zCardExample(context: Devvit.Context) { + await context.redis.zadd("leaderboard", + {member: "louis", score: 37}, + {member: "fernando", score: 10}, + {member: "caesar", score: 20}, + {member: "alexander", score: 25}, + ); + const cardinality : number = await context.redis.zcard("leaderboard"); + console.log("Cardinality: " + cardinality); +} +``` + +#### Inherited from + +`TxClientLikeBase.zCard` + +*** + + + +### zIncrBy() + +> **zIncrBy**(`key`, `member`, `value`): `Promise`\<`TxClientLike`\> + +Increments the score of member in the sorted set stored at key by value +https://redis.io/commands/zincrby/ + +#### Parameters + +##### key + +`string` + +##### member + +`string` + +##### value + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +the new score of member as a double precision floating point number + +#### Arg + +key + +#### Arg + +member + +#### Arg + +value + +#### Example + +```ts +async function zIncrByExample(context: Devvit.Context) { + await context.redis.zadd("animals", + {member: "zebra", score: 92}, + {member: "cat", score: 100}, + {member: "dog", score: 95}, + {member: "elephant", score: 97} + ); + const updatedScore : number = await context.redis.zincrby("animals", "dog", 10); + console.log("Dog's updated score: " + updatedScore); +} +``` + +#### Inherited from + +`TxClientLikeBase.zIncrBy` + +*** + + + +### zRange() + +> **zRange**(`key`, `start`, `stop`, `options`?): `Promise`\<`TxClientLike`\> + +Returns the specified range of elements in the sorted set stored at key. +https://redis.io/commands/zrange/ + +When using `by: 'lex'`, the start and stop inputs will be prepended with `[` by default, unless they already begin with `[`, `(` or are one of the special values `+` or `-`. + +#### Parameters + +##### key + +`string` + +##### start + +`string` | `number` + +##### stop + +`string` | `number` + +##### options? + +[`ZRangeOptions`](../type-aliases/ZRangeOptions.md) + +#### Returns + +`Promise`\<`TxClientLike`\> + +list of elements in the specified range + +#### Arg + +key + +#### Arg + +start + +#### Arg + +stop + +#### Arg + +options + +#### Example + +```ts +async function zRangeExample(context: Devvit.Context) { + await context.redis.zadd("leaderboard", + {member: "louis", score: 37}, + {member: "fernando", score: 10}, + {member: "caesar", score: 20}, + {member: "alexander", score: 25}, + ); + + // View elements with scores between 0 and 30 inclusive, sorted by score + const scores : {member : string, score : number}[] = await context.redis.zrange("leaderboard", 0, 30, { by: "score" }); + + scores.forEach(x => { + console.log("Member: " + x.member, ", Score: " + x.score); + }); +} +``` + +#### Inherited from + +`TxClientLikeBase.zRange` + +*** + + + +### zRank() + +> **zRank**(`key`, `member`): `Promise`\<`TxClientLike`\> + +Returns the rank of member in the sorted set stored at key +https://redis.io/commands/zrank/ + +#### Parameters + +##### key + +`string` + +##### member + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +rank of the member. The rank (or index) is 0-based +which means that the member with the lowest score has rank 0 + +#### Arg + +key + +#### Arg + +member + +#### Example + +```ts +async function zRankExample(context: Devvit.Context) { + await context.redis.zadd("animals", + {member: "zebra", score: 92}, + {member: "cat", score: 100}, + {member: "dog", score: 95}, + {member: "elephant", score: 97} + ); + const rank : number = await context.redis.zrank("animals", "dog"); + console.log("Dog's rank: " + rank); +} +``` + +#### Inherited from + +`TxClientLikeBase.zRank` + +*** + + + +### zRem() + +> **zRem**(`key`, `members`): `Promise`\<`TxClientLike`\> + +Removes the specified members from the sorted set stored at key. +https://redis.io/commands/zrem/ + +#### Parameters + +##### key + +`string` + +##### members + +`string`[] + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of members removed from the sorted set + +#### Arg + +key + +#### Arg + +members + +#### Example + +```ts +async function zRemExample(context: Devvit.Context) { + await context.redis.zadd("leaderboard", + {member: "louis", score: 37}, + {member: "fernando", score: 10}, + {member: "caesar", score: 20}, + {member: "alexander", score: 25}, + ); + const numberOfMembersRemoved : number = await context.redis.zrem("leaderboard", ["fernando", "alexander"]); + console.log("Number of members removed: " + numberOfMembersRemoved); +} +``` + +#### Inherited from + +`TxClientLikeBase.zRem` + +*** + + + +### zRemRangeByLex() + +> **zRemRangeByLex**(`key`, `min`, `max`): `Promise`\<`TxClientLike`\> + +removes all elements in the sorted set stored at key between the +lexicographical range specified by min and max +https://redis.io/commands/zremrangebylex/ + +#### Parameters + +##### key + +`string` + +##### min + +`string` + +##### max + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of members removed from the sorted set + +#### Arg + +key + +#### Arg + +min + +#### Arg + +max + +#### Example + +```ts +async function zRemRangeByLexExample(context: Devvit.Context) { + await context.redis.zadd("fruits", + {member: "kiwi", score: 0}, + {member: "mango", score: 0}, + {member: "banana", score: 0}, + {member: "orange", score: 0}, + {member: "apple", score: 0}, + ); + + // Remove fruits alphabetically ordered between 'kiwi' inclusive and 'orange' exclusive + // Note: The symbols '[' and '(' indicate inclusive or exclusive, respectively. These must be included in the call to zremrangebylex(). + const numFieldsRemoved : number = await context.redis.zremrangebylex("fruits", "[kiwi", "(orange"); + console.log("Number of fields removed: " + numFieldsRemoved); +} +``` + +#### Inherited from + +`TxClientLikeBase.zRemRangeByLex` + +*** + + + +### zRemRangeByRank() + +> **zRemRangeByRank**(`key`, `start`, `stop`): `Promise`\<`TxClientLike`\> + +Removes all elements in the sorted set stored at key with rank between start and stop. +https://redis.io/commands/zremrangebyrank/ + +#### Parameters + +##### key + +`string` + +##### start + +`number` + +##### stop + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of members removed from the sorted set + +#### Arg + +key + +#### Arg + +start + +#### Arg + +stop + +#### Example + +``` +async function zRemRangeByRankExample(context: Devvit.Context) { + await context.redis.zadd("fruits", + {member: "kiwi", score: 10}, + {member: "mango", score: 20}, + {member: "banana", score: 30}, + {member: "orange", score: 40}, + {member: "apple", score: 50}, + ); + + // Remove fruits ranked 1 through 3 inclusive + const numFieldsRemoved : number = await context.redis.zremrangebyrank("fruits", 1, 3); + console.log("Number of fields removed: " + numFieldsRemoved); +} +``` + +#### Inherited from + +`TxClientLikeBase.zRemRangeByRank` + +*** + + + +### zRemRangeByScore() + +> **zRemRangeByScore**(`key`, `min`, `max`): `Promise`\<`TxClientLike`\> + +Removes all elements in the sorted set stored at key with a score between min and max +https://redis.io/commands/zremrangebyscore/ + +#### Parameters + +##### key + +`string` + +##### min + +`number` + +##### max + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +number of members removed from the sorted set + +#### Arg + +key + +#### Arg + +min + +#### Arg + +max + +#### Example + +```ts +async function zRemRangeByScoreExample(context: Devvit.Context) { + await context.redis.zadd("fruits", + {member: "kiwi", score: 10}, + {member: "mango", score: 20}, + {member: "banana", score: 30}, + {member: "orange", score: 40}, + {member: "apple", score: 50}, + ); + // Remove fruits scored between 30 and 50 inclusive + const numFieldsRemoved : number = await context.redis.zremrangebyscore("fruits", 30, 50); + console.log("Number of fields removed: " + numFieldsRemoved); +} +``` + +#### Inherited from + +`TxClientLikeBase.zRemRangeByScore` + +*** + + + +### zScan() + +> **zScan**(`key`, `cursor`, `pattern`?, `count`?): `Promise`\<`TxClientLike`\> + +Iterates elements of Sorted Set types and their associated scores. + +#### Parameters + +##### key + +`string` + +##### cursor + +`number` + +##### pattern? + +`string` + +##### count? + +`number` + +#### Returns + +`Promise`\<`TxClientLike`\> + +#### Arg + +key + +#### Arg + +cursor + +#### Arg + +pattern + +#### Arg + +count + +#### Example + +```ts +async function zScanExample(context: Devvit.Context) { + await context.redis.zadd("fruits", + {member: "kiwi", score: 0}, + {member: "mango", score: 0}, + {member: "banana", score: 0}, + {member: "orange", score: 0}, + {member: "apple", score: 0}, + ); + const zScanResponse = await context.redis.zscan("fruits", 0); + console.log("zScanResponse: " + JSON.stringify(zScanResponse)); +} +``` + +#### Inherited from + +`TxClientLikeBase.zScan` + +*** + + + +### zScore() + +> **zScore**(`key`, `member`): `Promise`\<`TxClientLike`\> + +Returns the score of member in the sorted set at key. +https://redis.io/commands/zscore/ + +#### Parameters + +##### key + +`string` + +##### member + +`string` + +#### Returns + +`Promise`\<`TxClientLike`\> + +the score of the member (a double-precision floating point number). + +#### Arg + +key + +#### Arg + +member + +#### Example + +```ts +async function zScoreExample(context: Devvit.Context) { + await context.redis.zadd("leaderboard", + {member: "louis", score: 37}, + {member: "fernando", score: 10}, + {member: "caesar", score: 20}, + {member: "alexander", score: 25}, + ); + const score : number | undefined = await context.redis.zscore("leaderboard", "caesar"); + if(score !== undefined) { + console.log("Caesar's score: " + score); + } +} +``` + +#### Inherited from + +`TxClientLikeBase.zScore` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AboutSubredditTypes.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AboutSubredditTypes.md new file mode 100644 index 00000000..0e272caa --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AboutSubredditTypes.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AboutSubredditTypes + +> **AboutSubredditTypes** = `"comment"` \| `"post"` \| `"all"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AddRemovalNoteOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AddRemovalNoteOptions.md new file mode 100644 index 00000000..4955ce8b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AddRemovalNoteOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AddRemovalNoteOptions + +> **AddRemovalNoteOptions** = `Prettify`\<`PostRemovalNoteRequest`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AddWidgetData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AddWidgetData.md new file mode 100644 index 00000000..c426c5a2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AddWidgetData.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AddWidgetData + +> **AddWidgetData** = `AddImageWidgetRequest` & `object` \| `AddCalendarWidgetRequest` & `object` \| `AddTextAreaWidgetRequest` & `object` \| `AddButtonWidgetRequest` & `object` \| `AddCommunityListWidgetRequest` & `object` \| `AddPostFlairWidgetRequest` & `object` \| `AddCustomWidgetRequest` & `object` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AllowableFlairContent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AllowableFlairContent.md new file mode 100644 index 00000000..e4287d53 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AllowableFlairContent.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AllowableFlairContent + +> **AllowableFlairContent** = `"all"` \| `"emoji"` \| `"text"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AnimatedImage.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AnimatedImage.md new file mode 100644 index 00000000..ef04de13 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AnimatedImage.md @@ -0,0 +1,49 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AnimatedImage + +> **AnimatedImage** = `object` + +## Properties + + + +### c? + +> `optional` **c**: `string` + +*** + + + +### e + +> **e**: *typeof* [`ANIMATED_IMAGE_ELEMENT`](../variables/ANIMATED_IMAGE_ELEMENT.md) + +*** + + + +### id? + +> `optional` **id**: [`MediaAssetId`](MediaAssetId.md) + +*** + + + +### mediaUrl? + +> `optional` **mediaUrl**: `string` + +URL of the media when building; backend may replace with id in processed JSON + +*** + + + +### o? + +> `optional` **o**: [`ObfuscationReason`](ObfuscationReason.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AppInstall.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AppInstall.md new file mode 100644 index 00000000..f8631600 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AppInstall.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AppInstall + +> **AppInstall** = `"AppInstall"` + +The event name for when your app is installed diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AppInstallDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AppInstallDefinition.md new file mode 100644 index 00000000..757fd4c4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AppInstallDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AppInstallDefinition + +> **AppInstallDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`AppInstall`](AppInstall.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`AppInstall`](../@devvit/namespaces/EventTypes/interfaces/AppInstall.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AppUpgrade.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AppUpgrade.md new file mode 100644 index 00000000..618cf712 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AppUpgrade.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AppUpgrade + +> **AppUpgrade** = `"AppUpgrade"` + +The event name for when your app is upgraded diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AppUpgradeDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AppUpgradeDefinition.md new file mode 100644 index 00000000..b05865a0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AppUpgradeDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AppUpgradeDefinition + +> **AppUpgradeDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`AppUpgrade`](AppUpgrade.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`AppUpgrade`](../@devvit/namespaces/EventTypes/interfaces/AppUpgrade.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AutomoderatorFilterComment.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AutomoderatorFilterComment.md new file mode 100644 index 00000000..40c9ceec --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AutomoderatorFilterComment.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AutomoderatorFilterComment + +> **AutomoderatorFilterComment** = `"AutomoderatorFilterComment"` + +The event name for when a comment is filtered by automoderator diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/AutomoderatorFilterPost.md b/versioned_docs/version-0.14/api/public-api/type-aliases/AutomoderatorFilterPost.md new file mode 100644 index 00000000..991d84b5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/AutomoderatorFilterPost.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: AutomoderatorFilterPost + +> **AutomoderatorFilterPost** = `"AutomoderatorFilterPost"` + +The event name for when a post is filtered by automoderator diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BackgroundImagePosition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BackgroundImagePosition.md new file mode 100644 index 00000000..8ca555a6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BackgroundImagePosition.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BackgroundImagePosition + +> **BackgroundImagePosition** = `"cover"` \| `"tiled"` \| `"centered"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BanUserOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BanUserOptions.md new file mode 100644 index 00000000..d3675154 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BanUserOptions.md @@ -0,0 +1,63 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BanUserOptions + +> **BanUserOptions** = `object` + +## Properties + + + +### context? + +> `optional` **context**: `string` + +*** + + + +### duration? + +> `optional` **duration**: `number` + +*** + + + +### message? + +> `optional` **message**: `string` + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### reason? + +> `optional` **reason**: `string` + +*** + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BanWikiContributorOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BanWikiContributorOptions.md new file mode 100644 index 00000000..c9048b7e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BanWikiContributorOptions.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BanWikiContributorOptions + +> **BanWikiContributorOptions** = `object` + +## Properties + + + +### duration? + +> `optional` **duration**: `number` + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### reason? + +> `optional` **reason**: `string` + +*** + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BannerHeight.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BannerHeight.md new file mode 100644 index 00000000..9c39a446 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BannerHeight.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BannerHeight + +> **BannerHeight** = `"small"` \| `"medium"` \| `"large"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BaseContext.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BaseContext.md new file mode 100644 index 00000000..41d90453 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BaseContext.md @@ -0,0 +1,184 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BaseContext + +> **BaseContext** = `object` + +## Properties + + + +### ~~appAccountId~~ + +> **appAccountId**: `string` + +The ID of the current app's account + +#### Deprecated + +Use [BaseContext.appSlug](#appslug) instead to get the app's username + +*** + + + +### ~~appName~~ + +> **appName**: `string` + +The slug of the app that is running + +#### Deprecated + +Use [BaseContext.appSlug](#appslug) instead. + +*** + + + +### appSlug + +> **appSlug**: `string` + +The slug of the app that is running + +*** + + + +### appVersion + +> **appVersion**: `string` + +The version of the app that is running + +*** + + + +### commentId? + +> `optional` **commentId**: `string` + +The ID of the current comment + +*** + + + +### debug + +> **debug**: [`ContextDebugInfo`](ContextDebugInfo.md) + +More useful things, but probably not for the average developer + +*** + + + +### loid? + +> `optional` **loid**: `string` + +**`Experimental`** + +LOID (logged-out ID) is a token assigned on first visit and persists across sessions, account creation, and sign-in. +Logged-in users retain a LOID for attribution, analytics, and cross-session tracking. + +*** + + + +### metadata + +> **metadata**: [`Metadata`](Metadata.md) + +Request headers. + +*** + + + +### postData + +> **postData**: `PostData` \| `undefined` + +*** + + + +### postId? + +> `optional` **postId**: `string` + +The ID of the current post + +*** + + + +### snoovatar? + +> `optional` **snoovatar**: `string` + +**`Experimental`** + +The current user's snoovtar URL if logged in + +*** + + + +### subredditId + +> **subredditId**: `string` + +The ID of the current subreddit + +*** + + + +### subredditName? + +> `optional` **subredditName**: `string` + +The name of the current subreddit + +*** + + + +### userId? + +> `optional` **userId**: `string` + +The current user's ID if this event was triggered by a logged in user + +*** + + + +### username? + +> `optional` **username**: `string` + +**`Experimental`** + +The current user's handle if logged in + +## Methods + + + +### toJSON() + +> **toJSON**(): `Omit`\<`BaseContext`, `"toJSON"`\> + +Returns a JSON representation of the context + +#### Returns + +`Omit`\<`BaseContext`, `"toJSON"`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BaseField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BaseField.md new file mode 100644 index 00000000..3d0fab04 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BaseField.md @@ -0,0 +1,86 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BaseField\ + +> **BaseField**\<`ValueType`\> = `object` + +## Type Parameters + +### ValueType + +`ValueType` + +## Properties + + + +### defaultValue? + +> `optional` **defaultValue**: `ValueType` + +The default value of the field + +*** + + + +### disabled? + +> `optional` **disabled**: `boolean` + +If true the field will be disabled + +*** + + + +### helpText? + +> `optional` **helpText**: `string` + +An optional help text that will be displayed below the field + +*** + + + +### label + +> **label**: `string` + +The label of the field. This will be displayed to the user + +*** + + + +### name + +> **name**: `string` + +The name of the field. This will be used as the key in the `values` object +when the form is submitted. + +*** + + + +### required? + +> `optional` **required**: `boolean` + +If true the field will be required and the user will not be able to submit +the form without filling it in. + +*** + + + +### scope? + +> `optional` **scope**: [`SettingScopeType`](SettingScopeType.md) + +This indicates whether the field (setting) is an app level or install level +setting. App setting values can be used by any installation. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BitfieldCommand.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BitfieldCommand.md new file mode 100644 index 00000000..d6460e17 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BitfieldCommand.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BitfieldCommand + +> **BitfieldCommand** = `BitfieldGet` \| `BitfieldSet` \| `BitfieldIncrBy` \| `BitfieldOverflow` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuote.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuote.md new file mode 100644 index 00000000..b947a48b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuote.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BlockQuote + +> **BlockQuote** = `object` + +## Properties + + + +### a? + +> `optional` **a**: [`TextNode`](TextNode.md) + +*** + + + +### c + +> **c**: [`BlockQuoteNode`](BlockQuoteNode.md)[] + +*** + + + +### e + +> **e**: *typeof* [`BLOCK_QUOTE_ELEMENT`](../variables/BLOCK_QUOTE_ELEMENT.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteContainer.md new file mode 100644 index 00000000..07920601 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteContainer.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BlockQuoteContainer\ + +> **BlockQuoteContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### blockQuote() + +> **blockQuote**(`opts`, `cb`): `Context` + +Append a Block Quote element + +#### Parameters + +##### opts + +[`BlockQuoteOptions`](BlockQuoteOptions.md) + +##### cb + +(`blockQuote`) => `void` + +scoped callback to add child elements to this Block Quote + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteNode.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteNode.md new file mode 100644 index 00000000..6203a542 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteNode.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BlockQuoteNode + +> **BlockQuoteNode** = [`BlockQuote`](BlockQuote.md) \| [`CodeBlock`](CodeBlock.md) \| [`Heading`](Heading.md) \| [`List`](List.md) \| [`Paragraph`](Paragraph.md) \| [`Table`](Table.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteOptions.md new file mode 100644 index 00000000..68f59c91 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BlockQuoteOptions.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BlockQuoteOptions + +> **BlockQuoteOptions** = `object` + +## Properties + + + +### author? + +> `optional` **author**: [`TextNode`](TextNode.md) + +Element for author attribution + +#### See + +[TextNode](TextNode.md) + +#### Example + +```ts +{ author: makeUserLink({ username: 'spez', showPrefix: true }) } +``` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/BooleanField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/BooleanField.md new file mode 100644 index 00000000..da6677e9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/BooleanField.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: BooleanField + +> **BooleanField** = `Prettify`\<`Omit`\<[`BaseField`](BaseField.md)\<`boolean`\>, `"required"`\> & `FieldConfig_Boolean` & `object`\> + +A boolean field displayed as a toggle diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CancelJob.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CancelJob.md new file mode 100644 index 00000000..38ab24d9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CancelJob.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CancelJob() + +> **CancelJob** = (`jobId`) => `Promise`\<`void`\> + +Cancel a scheduled job + +## Parameters + +### jobId + +`string` + +The id of the job to cancel + +## Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlock.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlock.md new file mode 100644 index 00000000..5926cec2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlock.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CodeBlock + +> **CodeBlock** = `object` + +## Properties + + + +### c + +> **c**: [`RawText`](RawText.md)[] + +*** + + + +### e + +> **e**: *typeof* [`CODE_BLOCK_ELEMENT`](../variables/CODE_BLOCK_ELEMENT.md) + +*** + + + +### l? + +> `optional` **l**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlockContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlockContainer.md new file mode 100644 index 00000000..36afcb36 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlockContainer.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CodeBlockContainer\ + +> **CodeBlockContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### codeBlock() + +> **codeBlock**(`opts`, `cb`): `Context` + +Append a Code Block element + +#### Parameters + +##### opts + +[`CodeBlockOptions`](CodeBlockOptions.md) + +[CodeBlockOptions](CodeBlockOptions.md) + +##### cb + +(`codeBlock`) => `void` + +scoped callback to add child elements to this Code Block + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlockOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlockOptions.md new file mode 100644 index 00000000..e351ac7d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CodeBlockOptions.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CodeBlockOptions + +> **CodeBlockOptions** = `object` + +## Properties + + + +### language? + +> `optional` **language**: `string` + +Language of the content in this Code Block + +#### Example + +```ts +{ language: 'javascript' } +``` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ColumnAlignment.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ColumnAlignment.md new file mode 100644 index 00000000..5a6bb5b9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ColumnAlignment.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ColumnAlignment + +> **ColumnAlignment** = *typeof* [`COLUMN_ALIGN_LEFT`](../variables/COLUMN_ALIGN_LEFT.md) \| *typeof* [`COLUMN_ALIGN_RIGHT`](../variables/COLUMN_ALIGN_RIGHT.md) \| *typeof* [`COLUMN_ALIGN_CENTER`](../variables/COLUMN_ALIGN_CENTER.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentCreate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentCreate.md new file mode 100644 index 00000000..6eb634f2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentCreate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentCreate + +> **CommentCreate** = `"CommentCreate"` + +The event name for when a comment is created, after safety delay diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentCreateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentCreateDefinition.md new file mode 100644 index 00000000..a2c951bb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentCreateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentCreateDefinition + +> **CommentCreateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`CommentCreate`](CommentCreate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`CommentCreate`](../@devvit/namespaces/EventTypes/interfaces/CommentCreate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentDelete.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentDelete.md new file mode 100644 index 00000000..744630bd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentDelete.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentDelete + +> **CommentDelete** = `"CommentDelete"` + +The event name for when a comment is deleted diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentDeleteDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentDeleteDefinition.md new file mode 100644 index 00000000..c6c605ea --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentDeleteDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentDeleteDefinition + +> **CommentDeleteDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`CommentDelete`](CommentDelete.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`CommentDelete`](../@devvit/namespaces/EventTypes/interfaces/CommentDelete.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentLink.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentLink.md new file mode 100644 index 00000000..6159d64d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentLink.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentLink + +> **CommentLink** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`COMMENT_LINK_ELEMENT`](../variables/COMMENT_LINK_ELEMENT.md) + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentLinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentLinkOptions.md new file mode 100644 index 00000000..85cf7543 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentLinkOptions.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentLinkOptions + +> **CommentLinkOptions** = [`RedditPermalinkOptions`](RedditPermalinkOptions.md) + +## Borrows + +RedditPermalinkOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentMediaTypes.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentMediaTypes.md new file mode 100644 index 00000000..977eac6d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentMediaTypes.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentMediaTypes + +> **CommentMediaTypes** = `"giphy"` \| `"static"` \| `"animated"` \| `"expression"` \| `"video"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentReport.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentReport.md new file mode 100644 index 00000000..b4fe9f5d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentReport.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentReport + +> **CommentReport** = `"CommentReport"` + +The event name for when a comment is reported diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentReportDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentReportDefinition.md new file mode 100644 index 00000000..9f00cf9a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentReportDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentReportDefinition + +> **CommentReportDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`CommentReport`](CommentReport.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`CommentReport`](../@devvit/namespaces/EventTypes/interfaces/CommentReport.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSort.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSort.md new file mode 100644 index 00000000..e657c4e3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSort.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentSort + +> **CommentSort** = `"confidence"` \| `"top"` \| `"new"` \| `"controversial"` \| `"old"` \| `"random"` \| `"qa"` \| `"live"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmissionOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmissionOptions.md new file mode 100644 index 00000000..22bd5a87 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmissionOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentSubmissionOptions + +> **CommentSubmissionOptions** = \{ `runAs`: `"USER"` \| `"APP"`; `text`: `string`; \} \| \{ `richtext`: `object` \| [`RichTextBuilder`](../classes/RichTextBuilder.md); `runAs`: `"USER"` \| `"APP"`; \} diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmit.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmit.md new file mode 100644 index 00000000..0cc97e2e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmit.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentSubmit + +> **CommentSubmit** = `"CommentSubmit"` + +The event name for when a comment is submitted diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmitDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmitDefinition.md new file mode 100644 index 00000000..fec1dc70 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentSubmitDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentSubmitDefinition + +> **CommentSubmitDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`CommentSubmit`](CommentSubmit.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`CommentSubmit`](../@devvit/namespaces/EventTypes/interfaces/CommentSubmit.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentUpdate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentUpdate.md new file mode 100644 index 00000000..80f6275c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentUpdate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentUpdate + +> **CommentUpdate** = `"CommentUpdate"` + +The event name for when a comment is updated diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommentUpdateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentUpdateDefinition.md new file mode 100644 index 00000000..4418aad1 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommentUpdateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommentUpdateDefinition + +> **CommentUpdateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`CommentUpdate`](CommentUpdate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`CommentUpdate`](../@devvit/namespaces/EventTypes/interfaces/CommentUpdate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommonFlair.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommonFlair.md new file mode 100644 index 00000000..b1bd07bd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommonFlair.md @@ -0,0 +1,109 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommonFlair + +> **CommonFlair** = `object` + +This type is used for both the link and author flairs on Post and Comment objects. + +## Properties + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +Flair background color as a hex color string (# prefixed) + +#### Example + +```ts +"#FF4500" +``` + +*** + + + +### cssClass? + +> `optional` **cssClass**: `string` + +Custom CSS classes from the subreddit's stylesheet to apply to the flair if rendered as HTML + +*** + + + +### richtext + +> **richtext**: `object`[] + +RichText object representation of the flair + +#### elementType? + +> `optional` **elementType**: `string` + +Enum of element types. e.g. emoji or text + +#### emojiRef? + +> `optional` **emojiRef**: `string` + +Emoji references, e.g. ":rainbow:" + +#### text? + +> `optional` **text**: `string` + +Text to show up in the flair, e.g. "Need Advice" + +#### url? + +> `optional` **url**: `string` + +url string, e.g. "https://reddit.com/" + +*** + + + +### templateId? + +> `optional` **templateId**: `string` + +Flair template ID to use when rendering this flair + +*** + + + +### text? + +> `optional` **text**: `string` + +Plain text representation of the flair + +*** + + + +### textColor? + +> `optional` **textColor**: `string` + +One of: "light", "dark" + +*** + + + +### type? + +> `optional` **type**: `string` + +One of: "text", "richtext" diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommonSubmitPostOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommonSubmitPostOptions.md new file mode 100644 index 00000000..79f818fb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommonSubmitPostOptions.md @@ -0,0 +1,63 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommonSubmitPostOptions + +> **CommonSubmitPostOptions** = `object` + +## Properties + + + +### flairId? + +> `optional` **flairId**: `string` + +*** + + + +### flairText? + +> `optional` **flairText**: `string` + +*** + + + +### nsfw? + +> `optional` **nsfw**: `boolean` + +*** + + + +### runAs? + +> `optional` **runAs**: `"USER"` \| `"APP"` + +*** + + + +### sendreplies? + +> `optional` **sendreplies**: `boolean` + +*** + + + +### spoiler? + +> `optional` **spoiler**: `boolean` + +*** + + + +### title + +> **title**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CommunityNameFormat.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CommunityNameFormat.md new file mode 100644 index 00000000..70e5e034 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CommunityNameFormat.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CommunityNameFormat + +> **CommunityNameFormat** = `"slashtag"` \| `"pretty"` \| `"hide"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Configuration.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Configuration.md new file mode 100644 index 00000000..b5d2073f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Configuration.md @@ -0,0 +1,85 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Configuration + +> **Configuration** = `object` + +## Properties + + + +### blob? + +> `optional` **blob**: [`PluginSettings`](PluginSettings.md) \| `boolean` + +Allows your app to use the Blob Plugin + +*** + + + +### http? + +> `optional` **http**: [`PluginSettings`](PluginSettings.md) \| `boolean` \| \{ `domains`: `string`[]; \} + +Allows your app to use the HTTP/Fetch API + +*** + + + +### media? + +> `optional` **media**: [`PluginSettings`](PluginSettings.md) \| `boolean` + +Allows media uploads from apps + +*** + + + +### redditAPI? + +> `optional` **redditAPI**: [`PluginSettings`](PluginSettings.md) \| `boolean` + +Allows your app to use the reddit API + +*** + + + +### redis? + +> `optional` **redis**: [`PluginSettings`](PluginSettings.md) \| `boolean` + +Allows your app to use the Redis Plugin + +*** + + + +### userActions? + +> `optional` **userActions**: `boolean` \| \{ `enabled`: `boolean`; \} \| \{ `scopes`: `Scope`[]; \} + +Allows your app to call Reddit APIs on behalf of the User. Passing a boolean allows you to submit post/comments on behalf of the user. + +#### Type declaration + +`boolean` + +\{ `enabled`: `boolean`; \} + +#### enabled + +> **enabled**: `boolean` + +Defaults to SUBMIT_POST and SUBMIT_COMMENT. + +\{ `scopes`: `Scope`[]; \} + +#### scopes + +> **scopes**: `Scope`[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Context.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Context.md new file mode 100644 index 00000000..ad7cff16 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Context.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Context + +> **Context** = [`ContextAPIClients`](ContextAPIClients.md) & [`BaseContext`](BaseContext.md) + +The current app context of the event or render diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ContextAPIClients.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ContextAPIClients.md new file mode 100644 index 00000000..6c2cd10d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ContextAPIClients.md @@ -0,0 +1,113 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ContextAPIClients + +> **ContextAPIClients** = `object` + +## Properties + + + +### assets + +> **assets**: `AssetsClient` + +A client for resolving static assets to public URLs + +*** + + + +### cache + +> **cache**: `CacheHelper` + +**`Experimental`** + +The cache helper will let you cache JSON-able objects in your devvit apps for a limited amount of time. + +Under the covers, It's just Redis, so you do need to enable the redis feature. This provides a pattern for e.g. fetching +remote calls without overwhelming someone's server. + +```ts +Devvit.configure({ + redis: true, // Enable access to Redis +}); + +/// ... + +let component = (context) => { + let cached = context.cache(async () => { + let rsp = await fetch("https://google.com") + return rsp.body + }, + { + key: "some-fetch", + ttl: 10_000 // millis + } + doSomethingWith(cached); + return yay +} +``` + +*** + + + +### media + +> **media**: [`MediaPlugin`](MediaPlugin.md) + +A client for media API + +*** + + + +### reddit + +> **reddit**: [`RedditAPIClient`](../classes/RedditAPIClient.md) + +A client for the Reddit API + +*** + + + +### redis + +> **redis**: [`RedisClient`](RedisClient.md) + +A client for the Redis API + +*** + + + +### scheduler + +> **scheduler**: [`Scheduler`](Scheduler.md) + +A client for the Scheduler API + +*** + + + +### settings + +> **settings**: [`SettingsClient`](../classes/SettingsClient.md) + +A client for the Settings API + +*** + + + +### ui + +> **ui**: [`UIClient`](UIClient.md) + +A client for the User Interface API diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ContextDebugInfo.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ContextDebugInfo.md new file mode 100644 index 00000000..716f6c27 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ContextDebugInfo.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ContextDebugInfo + +> **ContextDebugInfo** = `{ [key in AppDebug]?: string }` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationData.md new file mode 100644 index 00000000..5c40622c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationData.md @@ -0,0 +1,218 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ConversationData + +> **ConversationData** = `object` + +## Properties + + + +### authors + +> **authors**: [`Participant`](Participant.md)[] + +The authors of each message in the modmail conversation. + +*** + + + +### conversationType? + +> `optional` **conversationType**: `string` + +A ConversationType specifies whether a conversation is with a subreddit +itself, with another user, or with another subreddit entirely. +- `sr_user` - This is a conversation with another user outside of the + subreddit. The participant ID is that user's ID. +- `internal` - This is a Mod Discussion, internal to the subreddit. There + is no other participant. +- `sr_sr` - This is a conversation is with another subreddit. The + participant will have a subreddit ID. + +*** + + + +### id? + +> `optional` **id**: `string` + +Conversation ID + +*** + + + +### isAuto? + +> `optional` **isAuto**: `boolean` + +Is the conversation automatically generated e.g. from automod, u/reddit + +*** + + + +### isHighlighted? + +> `optional` **isHighlighted**: `boolean` + +Is the conversation highlighted + +*** + + + +### isInternal? + +> `optional` **isInternal**: `boolean` + +Is the conversation internal (i.e. mod only) + +*** + + + +### lastModUpdate? + +> `optional` **lastModUpdate**: `string` + +The last datetime a mod from the owning subreddit made any interaction +with the conversation. + +(Note that if this is a subreddit to subreddit conversation, the mods of +the participant subreddit are irrelevant and do not affect this field.) + +*** + + + +### lastUnread? + +> `optional` **lastUnread**: `string` + +The datetime of the last unread message within this conversation for the current viewer. + +*** + + + +### lastUpdated? + +> `optional` **lastUpdated**: `string` + +The datetime of the last time the conversation was update. + +*** + + + +### lastUserUpdate? + +> `optional` **lastUserUpdate**: `string` + +The last datetime a user made any interaction with the conversation + +*** + + + +### messages + +> **messages**: `object` + +Conversation messages + +#### Index Signature + +\[`id`: `string`\]: [`MessageData`](MessageData.md) + +#### Example + +```ts +const arrayOfMessages = Object.values(conversation.messages); +const messageById = conversation.messages[messageId]; +``` + +*** + + + +### modActions + +> **modActions**: `object` + +Conversation mod actions + +#### Index Signature + +\[`id`: `string`\]: [`ModActionData`](ModActionData.md) + +#### Example + +```ts +const arrayOfModActions = Object.values(conversation.modActions); +const modActionById = conversation.modActions[modActionId]; +``` + +*** + + + +### numMessages? + +> `optional` **numMessages**: `number` + +Number of messages (not actions) in the conversation + +*** + + + +### participant? + +> `optional` **participant**: [`Participant`](Participant.md) + +Participant. Is absent for mod discussions + +*** + + + +### state? + +> `optional` **state**: [`ModMailConversationState`](../enumerations/ModMailConversationState.md) + +State of the conversation + +*** + + + +### subject? + +> `optional` **subject**: `string` + +Suject of the conversation + +*** + + + +### subreddit? + +> `optional` **subreddit**: `object` + +Subreddit owning the modmail conversation + +#### displayName? + +> `optional` **displayName**: `string` + +#### id? + +> `optional` **id**: `T5` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationResponse.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationResponse.md new file mode 100644 index 00000000..aaca08cd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationResponse.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ConversationResponse + +> **ConversationResponse** = `object` + +## Properties + + + +### conversation + +> **conversation**: [`ConversationData`](ConversationData.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationStateFilter.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationStateFilter.md new file mode 100644 index 00000000..e29efc88 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationStateFilter.md @@ -0,0 +1,12 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ConversationStateFilter + +> **ConversationStateFilter** = `"all"` \| `"new"` \| `"inprogress"` \| `"archived"` \| `"appeals"` \| `"join_requests"` \| `"highlighted"` \| `"mod"` \| `"notifications"` \| `"inbox"` \| `"filtered"` \| `"default"` + +A Conversation State is a way in which conversations may be filtered within the UI. + +A conversation can be in more than one state. +For example, a conversation may be both 'highlighted' and 'inprogress'. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationUserData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationUserData.md new file mode 100644 index 00000000..b5fc220a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ConversationUserData.md @@ -0,0 +1,155 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ConversationUserData + +> **ConversationUserData** = `object` + +## Properties + + + +### approveStatus? + +> `optional` **approveStatus**: `object` + +#### isApproved? + +> `optional` **isApproved**: `boolean` + +*** + + + +### banStatus? + +> `optional` **banStatus**: `object` + +#### endDate? + +> `optional` **endDate**: `string` + +#### isBanned? + +> `optional` **isBanned**: `boolean` + +#### isPermanent? + +> `optional` **isPermanent**: `boolean` + +#### reason? + +> `optional` **reason**: `string` + +*** + + + +### created? + +> `optional` **created**: `string` + +When was created + +*** + + + +### id? + +> `optional` **id**: `T2` + +User ID + +*** + + + +### isShadowBanned? + +> `optional` **isShadowBanned**: `boolean` + +*** + + + +### isSuspended? + +> `optional` **isSuspended**: `boolean` + +*** + + + +### muteStatus? + +> `optional` **muteStatus**: `object` + +#### endDate? + +> `optional` **endDate**: `string` + +#### isMuted? + +> `optional` **isMuted**: `boolean` + +#### muteCount? + +> `optional` **muteCount**: `number` + +#### reason? + +> `optional` **reason**: `string` + +*** + + + +### name? + +> `optional` **name**: `string` + +Username + +*** + + + +### recentComments + +> **recentComments**: `object` + +Recent comments + +#### Index Signature + +\[`id`: `` `t1_${string}` ``\]: `object` + +*** + + + +### recentConvos + +> **recentConvos**: `object` + +Recent conversations + +#### Index Signature + +\[`id`: `string`\]: `object` + +*** + + + +### recentPosts + +> **recentPosts**: `object` + +Recent posts + +#### Index Signature + +\[`id`: `` `t3_${string}` ``\]: `object` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CreateFlairTemplateOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateFlairTemplateOptions.md new file mode 100644 index 00000000..3049c50b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateFlairTemplateOptions.md @@ -0,0 +1,85 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CreateFlairTemplateOptions + +> **CreateFlairTemplateOptions** = `object` + +## Properties + + + +### allowableContent? + +> `optional` **allowableContent**: [`AllowableFlairContent`](AllowableFlairContent.md) + +The flair template's allowable content. Either 'all', 'emoji', or 'text'. + +*** + + + +### allowUserEdits? + +> `optional` **allowUserEdits**: `boolean` + +Whether or not users are allowed to edit this flair template before using it. + +*** + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +The background color of the flair. Either 'transparent' or a hex color code. e.g. #FFC0CB + +*** + + + +### maxEmojis? + +> `optional` **maxEmojis**: `number` + +*** + + + +### modOnly? + +> `optional` **modOnly**: `boolean` + +Whether or not this flair template is only available to moderators. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit to create the flair template in. + +*** + + + +### text + +> **text**: `string` + +The text to display in the flair. + +*** + + + +### textColor? + +> `optional` **textColor**: [`FlairTextColor`](FlairTextColor.md) + +Either 'dark' or 'light'. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CreateModNoteOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateModNoteOptions.md new file mode 100644 index 00000000..743216ff --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateModNoteOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CreateModNoteOptions + +> **CreateModNoteOptions** = `Prettify`\<`PostNotesRequest` & `object`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CreateRelationshipOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateRelationshipOptions.md new file mode 100644 index 00000000..a1da9435 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateRelationshipOptions.md @@ -0,0 +1,81 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CreateRelationshipOptions + +> **CreateRelationshipOptions** = `object` + +## Properties + + + +### banContext? + +> `optional` **banContext**: `string` + +The ID of the post or comment that caused the ban. + +*** + + + +### banMessage? + +> `optional` **banMessage**: `string` + +*** + + + +### banReason? + +> `optional` **banReason**: `string` + +*** + + + +### duration? + +> `optional` **duration**: `number` + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### permissions? + +> `optional` **permissions**: [`ModeratorPermission`](ModeratorPermission.md)[] + +*** + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### type + +> **type**: [`RelationshipType`](RelationshipType.md) + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CreateRuleOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateRuleOptions.md new file mode 100644 index 00000000..07de006d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateRuleOptions.md @@ -0,0 +1,19 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CreateRuleOptions + +> **CreateRuleOptions** = `Omit`\<`AddSubredditRuleRequest`, `"r"` \| `"kind"` \| `"violationReason"`\> & `object` + +Options for creating a new subreddit rule. + +## Type declaration + +### kind + +> **kind**: `"all"` \| `"link"` \| `"comment"` + +### violationReason? + +> `optional` **violationReason**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CreateWikiPageOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateWikiPageOptions.md new file mode 100644 index 00000000..491bbe60 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CreateWikiPageOptions.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CreateWikiPageOptions + +> **CreateWikiPageOptions** = `object` + +## Properties + + + +### content + +> **content**: `string` + +The content of the page. + +*** + + + +### page + +> **page**: `string` + +The name of the page to create. + +*** + + + +### reason? + +> `optional` **reason**: `string` + +The reason for creating the page. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit to create the page in. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CrosspostOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CrosspostOptions.md new file mode 100644 index 00000000..19f3b0b4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CrosspostOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CrosspostOptions + +> **CrosspostOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `Required`\<[`SubredditOptions`](SubredditOptions.md)\> & `object` + +## Type declaration + +### postId + +> **postId**: `T3` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CrowdControlLevel.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CrowdControlLevel.md new file mode 100644 index 00000000..3c87e46f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CrowdControlLevel.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CrowdControlLevel + +> **CrowdControlLevel** = `"OFF"` \| `"LENIENT"` \| `"MEDIUM"` \| `"STRICT"` + +Crowd control level for posts. Determines which comments should be collapsed due to crowd control. +OFF: Anyone with a Reddit account can comment freely. +LENIENT: Collapse comments from people who have negative karma in your community. +MEDIUM: Collapse comments from new Reddit users and people with negative karma in your community. +STRICT: Collapse comments from people who haven’t joined your community, new Reddit users, and people with negative karma in your community diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CustomPostRichTextFallback.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CustomPostRichTextFallback.md new file mode 100644 index 00000000..dd0bf01c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CustomPostRichTextFallback.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CustomPostRichTextFallback + +> **CustomPostRichTextFallback** = [`RichTextBuilder`](../classes/RichTextBuilder.md) \| `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CustomPostTextFallbackOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CustomPostTextFallbackOptions.md new file mode 100644 index 00000000..3dcde006 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CustomPostTextFallbackOptions.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CustomPostTextFallbackOptions + +> **CustomPostTextFallbackOptions** = \{ `text`: `string`; \} \| \{ `richtext`: [`CustomPostRichTextFallback`](CustomPostRichTextFallback.md); \} + +## Type declaration + +\{ `text`: `string`; \} + +### text + +> **text**: `string` + +May also include markdown. See https://www.reddit.com/r/reddit.com/wiki/markdown/ + +\{ `richtext`: [`CustomPostRichTextFallback`](CustomPostRichTextFallback.md); \} + +### richtext + +> **richtext**: [`CustomPostRichTextFallback`](CustomPostRichTextFallback.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/CustomizationFlag.md b/versioned_docs/version-0.14/api/public-api/type-aliases/CustomizationFlag.md new file mode 100644 index 00000000..71a2d6f4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/CustomizationFlag.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: CustomizationFlag + +> **CustomizationFlag** = `"default"` \| `"custom"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Data.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Data.md new file mode 100644 index 00000000..c0b135f3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Data.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ~~Data~~ + +> **Data** = [`JSONObject`](JSONObject.md) + +## Deprecated + +Use JSONObject instead. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/DeleteNotesOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/DeleteNotesOptions.md new file mode 100644 index 00000000..bd783980 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/DeleteNotesOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: DeleteNotesOptions + +> **DeleteNotesOptions** = `Prettify`\<`DeleteNotesRequest`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/DevvitDebug.md b/versioned_docs/version-0.14/api/public-api/type-aliases/DevvitDebug.md new file mode 100644 index 00000000..5d2be67a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/DevvitDebug.md @@ -0,0 +1,34 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: DevvitDebug + +> **DevvitDebug** = `object` + +Home for debug flags, settings, and other information. Any type removals +may cause type errors but not runtime errors. + +**Favor ContextDebugInfo since request-based state is preferred.** + +## Properties + + + +### emitSnapshots? + +> `optional` **emitSnapshots**: `boolean` + +Should debug block rendering in console.log according to the reified JSX/XML output. Example: + + hi world + +*** + + + +### emitState? + +> `optional` **emitState**: `boolean` + +Should console.log the state of the app after every event. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Dispatch.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Dispatch.md new file mode 100644 index 00000000..9d9336bb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Dispatch.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Dispatch()\ + +> **Dispatch**\<`A`\> = (`value`) => `void` + +## Type Parameters + +### A + +`A` + +## Parameters + +### value + +`A` + +## Returns + +`void` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Document.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Document.md new file mode 100644 index 00000000..1c272e8a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Document.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Document + +> **Document** = [`DocumentNode`](DocumentNode.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/DocumentNode.md b/versioned_docs/version-0.14/api/public-api/type-aliases/DocumentNode.md new file mode 100644 index 00000000..35f6b29b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/DocumentNode.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: DocumentNode + +> **DocumentNode** = [`Paragraph`](Paragraph.md) \| [`Heading`](Heading.md) \| [`HorizontalRule`](HorizontalRule.md) \| [`BlockQuote`](BlockQuote.md) \| [`CodeBlock`](CodeBlock.md) \| [`Embed`](Embed.md) \| [`List`](List.md) \| [`Table`](Table.md) \| [`Media`](Media.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/EditCommentOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/EditCommentOptions.md new file mode 100644 index 00000000..faee3499 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/EditCommentOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: EditCommentOptions + +> **EditCommentOptions** = [`CommentSubmissionOptions`](CommentSubmissionOptions.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/EditFlairTemplateOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/EditFlairTemplateOptions.md new file mode 100644 index 00000000..524f2d79 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/EditFlairTemplateOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: EditFlairTemplateOptions + +> **EditFlairTemplateOptions** = [`CreateFlairTemplateOptions`](CreateFlairTemplateOptions.md) & `object` + +## Type declaration + +### id + +> **id**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Embed.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Embed.md new file mode 100644 index 00000000..51c90774 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Embed.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Embed + +> **Embed** = `object` + +## Properties + + + +### c + +> **c**: [`UrlString`](UrlString.md) + +*** + + + +### e + +> **e**: *typeof* [`EMBED_ELEMENT`](../variables/EMBED_ELEMENT.md) + +*** + + + +### u + +> **u**: [`UrlString`](UrlString.md) + +*** + + + +### x + +> **x**: `number` + +*** + + + +### y + +> **y**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/EmbedContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/EmbedContainer.md new file mode 100644 index 00000000..5d5dd7bf --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/EmbedContainer.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: EmbedContainer\ + +> **EmbedContainer**\<`Context`\> = `object` + +## Mixin + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### embed() + +> **embed**(`opts`): `Context` + +Append an embedded iframe + +#### Parameters + +##### opts + +[`EmbedOptions`](EmbedOptions.md) + +[EmbedOptions](EmbedOptions.md) + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/EmbedOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/EmbedOptions.md new file mode 100644 index 00000000..4b885f57 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/EmbedOptions.md @@ -0,0 +1,43 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: EmbedOptions + +> **EmbedOptions** = `object` + +## Properties + + + +### contentUrl + +> **contentUrl**: `string` + +URL to load in the embedded iframe + +*** + + + +### height + +> **height**: `number` + +*** + + + +### sourceUrl + +> **sourceUrl**: `string` + +Destination URL when the embed is clicked + +*** + + + +### width + +> **width**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/EnrichedThumbnail.md b/versioned_docs/version-0.14/api/public-api/type-aliases/EnrichedThumbnail.md new file mode 100644 index 00000000..331c07d2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/EnrichedThumbnail.md @@ -0,0 +1,73 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: EnrichedThumbnail + +> **EnrichedThumbnail** = `object` + +Contains data about a post's thumbnail. Also contains a blurred version if the thumbnail is NSFW. + +## Properties + + + +### attribution? + +> `optional` **attribution**: `string` + +Attribution text for the thumbnail + +*** + + + +### image + +> **image**: `object` + +The image used for the thumbnail. May have different resolution from Post.thumbnail + +#### height + +> **height**: `number` + +#### url + +> **url**: `string` + +#### width + +> **width**: `number` + +*** + + + +### isObfuscatedDefault + +> **isObfuscatedDefault**: `boolean` + +Whether this thumbnail appears blurred by default + +*** + + + +### obfuscatedImage? + +> `optional` **obfuscatedImage**: `object` + +The blurred image for NSFW thumbnails + +#### height + +> **height**: `number` + +#### url + +> **url**: `string` + +#### width + +> **width**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FlairBackgroundColor.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FlairBackgroundColor.md new file mode 100644 index 00000000..8b046ba4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FlairBackgroundColor.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FlairBackgroundColor + +> **FlairBackgroundColor** = `` `#${string}` `` \| `"transparent"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FlairSettings.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FlairSettings.md new file mode 100644 index 00000000..3c417e41 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FlairSettings.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FlairSettings + +> **FlairSettings** = `object` + +## Properties + + + +### enabled + +> **enabled**: `boolean` + +*** + + + +### userFlairBackgroundColor? + +> `optional` **userFlairBackgroundColor**: `string` + +*** + + + +### userFlairTextColor? + +> `optional` **userFlairTextColor**: `string` + +*** + + + +### usersCanAssign + +> **usersCanAssign**: `boolean` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FlairTextColor.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FlairTextColor.md new file mode 100644 index 00000000..d03a8009 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FlairTextColor.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FlairTextColor + +> **FlairTextColor** = `"light"` \| `"dark"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Form.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Form.md new file mode 100644 index 00000000..2da4c44a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Form.md @@ -0,0 +1,57 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Form + +> **Form** = `object` + +## Properties + + + +### acceptLabel? + +> `optional` **acceptLabel**: `string` + +An optional label for the submit button + +*** + + + +### cancelLabel? + +> `optional` **cancelLabel**: `string` + +An optional label for the cancel button + +*** + + + +### description? + +> `optional` **description**: `string` + +An optional description for the form + +*** + + + +### fields + +> **fields**: [`FormField`](FormField.md)[] + +The fields that will be displayed in the form + +*** + + + +### title? + +> `optional` **title**: `string` + +An optional title for the form diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormDefinition.md new file mode 100644 index 00000000..5206add5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormDefinition.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormDefinition\ + +> **FormDefinition**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` *extends* [`Form`](Form.md) \| [`FormFunction`](FormFunction.md) = [`Form`](Form.md) \| [`FormFunction`](FormFunction.md) + +## Properties + + + +### form + +> **form**: `T` + +A form or a function that returns a form + +*** + + + +### onSubmit + +> **onSubmit**: [`FormOnSubmitEventHandler`](FormOnSubmitEventHandler.md)\<[`FormToFormValues`](FormToFormValues.md)\<`T`\>\> + +A callback that will be invoked when the form is submitted diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormField.md new file mode 100644 index 00000000..8db6217c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormField + +> **FormField** = [`StringField`](StringField.md) \| [`ImageField`](ImageField.md) \| [`ParagraphField`](ParagraphField.md) \| [`NumberField`](NumberField.md) \| [`BooleanField`](BooleanField.md) \| [`SelectField`](SelectField.md) \| [`FormFieldGroup`](FormFieldGroup.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormFieldGroup.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormFieldGroup.md new file mode 100644 index 00000000..b61ad5bb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormFieldGroup.md @@ -0,0 +1,55 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormFieldGroup + +> **FormFieldGroup** = `object` + +A grouping of fields + +## Properties + + + +### fields + +> **fields**: [`FormField`](FormField.md)[] + +The fields that will be displayed in the group + +*** + + + +### helpText? + +> `optional` **helpText**: `string` + +An optional help text that will be displayed below the group + +*** + + + +### label + +> **label**: `string` + +The label of the group that will be displayed to the user + +*** + + + +### required? + +> `optional` **required**: `never` + +*** + + + +### type + +> **type**: `"group"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormFunction.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormFunction.md new file mode 100644 index 00000000..d31a4402 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormFunction.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormFunction()\ + +> **FormFunction**\<`T`\> = (`data`) => [`Form`](Form.md) + +A function that returns a form. You can use this to dynamically generate a form. + +## Type Parameters + +### T + +`T` *extends* `object` = \{\} + +## Parameters + +### data + +`T` + +## Returns + +[`Form`](Form.md) + +## Example + +```ts +const formKey = Devvit.createForm((data) => ({ + fields: data.fields, + title: data.title, +}), callback); + +... + +ui.showForm(formKey, { + fields: [{ type: 'string', name: 'title', label: 'Title' }] + title: 'My dynamic form' +}); +``` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormKey.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormKey.md new file mode 100644 index 00000000..c3398619 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormKey.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormKey + +> **FormKey** = `` `form.${number}` `` \| `` `form.hook.${string}.${number}` `` + +A unique key generated by `Devvit.createForm` or the `useForm` hook. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormOnSubmitEvent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormOnSubmitEvent.md new file mode 100644 index 00000000..6aa3665c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormOnSubmitEvent.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormOnSubmitEvent\ + +> **FormOnSubmitEvent**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` *extends* `Partial`\<[`JSONObject`](JSONObject.md)\> + +## Properties + + + +### values + +> **values**: `T` + +The form values that were submitted diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormOnSubmitEventHandler.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormOnSubmitEventHandler.md new file mode 100644 index 00000000..392dd705 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormOnSubmitEventHandler.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormOnSubmitEventHandler()\ + +> **FormOnSubmitEventHandler**\<`Data`\> = (`event`, `context`) => `void` \| `Promise`\<`void`\> + +## Type Parameters + +### Data + +`Data` *extends* `Partial`\<[`JSONObject`](JSONObject.md)\> + +## Parameters + +### event + +[`FormOnSubmitEvent`](FormOnSubmitEvent.md)\<`Data`\> + +### context + +[`Context`](../@devvit/namespaces/Devvit/type-aliases/Context.md) + +## Returns + +`void` \| `Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormToFormValues.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormToFormValues.md new file mode 100644 index 00000000..d16e3439 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormToFormValues.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormToFormValues\ + +> **FormToFormValues**\<`T`\> = `FormFieldsToFormValues`\<`T` *extends* [`FormFunction`](FormFunction.md) ? `ReturnType`\<`T`\> : `T`\[`"fields"`\]\> + +## Type Parameters + +### T + +`T` *extends* [`Form`](Form.md) \| [`FormFunction`](FormFunction.md) = [`Form`](Form.md) \| [`FormFunction`](FormFunction.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormValues.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormValues.md new file mode 100644 index 00000000..1e6e440e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormValues.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormValues + +> **FormValues** = `FormValuesTyped`\<[`JSONObject`](JSONObject.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormatOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormatOptions.md new file mode 100644 index 00000000..2ab7e95d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormatOptions.md @@ -0,0 +1,83 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormatOptions + +> **FormatOptions** = `object` + +## Properties + + + +### bold? + +> `optional` **bold**: `boolean` + +*** + + + +### italic? + +> `optional` **italic**: `boolean` + +*** + + + +### length + +> **length**: `number` + +Number of characters from the startIndex to receive this formatting + +*** + + + +### monospace? + +> `optional` **monospace**: `boolean` + +*** + + + +### startIndex + +> **startIndex**: `number` + +Starting index to receive this formatting + +*** + + + +### strikethrough? + +> `optional` **strikethrough**: `boolean` + +*** + + + +### subscript? + +> `optional` **subscript**: `boolean` + +*** + + + +### superscript? + +> `optional` **superscript**: `boolean` + +*** + + + +### underline? + +> `optional` **underline**: `boolean` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormatRange.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormatRange.md new file mode 100644 index 00000000..b14932cc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormatRange.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormatRange + +> **FormatRange** = \[[`FormattingSpecification`](FormattingSpecification.md), `number`, `number`\] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/FormattingSpecification.md b/versioned_docs/version-0.14/api/public-api/type-aliases/FormattingSpecification.md new file mode 100644 index 00000000..2f3750a8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/FormattingSpecification.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: FormattingSpecification + +> **FormattingSpecification** = `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GalleryMedia.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GalleryMedia.md new file mode 100644 index 00000000..3d356c91 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GalleryMedia.md @@ -0,0 +1,43 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GalleryMedia + +> **GalleryMedia** = `object` + +Represents media that the post may contain. + +## Properties + + + +### height + +> **height**: `number` + +*** + + + +### status + +> **status**: [`GalleryMediaStatus`](GalleryMediaStatus.md) + +Status of the media. Media that were successfully uplaoded will have GalleryMediaStatus.VALID status + +*** + + + +### url + +> **url**: `string` + +*** + + + +### width + +> **width**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GalleryMediaStatus.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GalleryMediaStatus.md new file mode 100644 index 00000000..cdcb6f91 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GalleryMediaStatus.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GalleryMediaStatus + +> **GalleryMediaStatus** = *typeof* `GalleryMediaStatusProto`\[keyof *typeof* `GalleryMediaStatusProto`\] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetBestPostsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetBestPostsOptions.md new file mode 100644 index 00000000..bb95415a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetBestPostsOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetBestPostsOptions + +> **GetBestPostsOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetCommentsByUserOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetCommentsByUserOptions.md new file mode 100644 index 00000000..366d8499 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetCommentsByUserOptions.md @@ -0,0 +1,63 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetCommentsByUserOptions + +> **GetCommentsByUserOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### sort? + +> `optional` **sort**: `"hot"` \| `"new"` \| `"top"` \| `"controversial"` + +*** + + + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetCommentsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetCommentsOptions.md new file mode 100644 index 00000000..67774438 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetCommentsOptions.md @@ -0,0 +1,55 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetCommentsOptions + +> **GetCommentsOptions** = `object` + +## Properties + + + +### commentId? + +> `optional` **commentId**: `T1` + +*** + + + +### depth? + +> `optional` **depth**: `number` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### postId + +> **postId**: `T3` + +*** + + + +### sort? + +> `optional` **sort**: [`CommentSort`](CommentSort.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationResponse.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationResponse.md new file mode 100644 index 00000000..56ddc211 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationResponse.md @@ -0,0 +1,19 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetConversationResponse + +> **GetConversationResponse** = `object` & [`WithUserData`](WithUserData.md) + +## Type declaration + +### conversation? + +> `optional` **conversation**: [`ConversationData`](ConversationData.md) + +### participantSubreddit? + +> `optional` **participantSubreddit**: `ParticipantSubreddit` + +If the conversation is with another subreddit, what subreddit we are communicating with. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationsRequest.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationsRequest.md new file mode 100644 index 00000000..e647b707 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationsRequest.md @@ -0,0 +1,64 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetConversationsRequest + +> **GetConversationsRequest** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +modmail conversation id + +*** + + + +### limit? + +> `optional` **limit**: `number` + +an integer between 1 and 100 (default: 25) + +*** + + + +### sort? + +> `optional` **sort**: `"recent"` \| `"mod"` \| `"user"` \| `"unread"` + +Sort by: +- `recent` - Order by whenever anyone last updated the conversation, mod or participant +- `mod` - Order by the last time a mod updated the conversation +- `user` - Order by the last time a participant user updated the conversation +- `unread` - Order by the most recent unread message in the conversation for this mod + +*** + + + +### state? + +> `optional` **state**: [`ConversationStateFilter`](ConversationStateFilter.md) + +Filter by conversation state + +A conversation can be in more than one state. +For example, a conversation may be both 'highlighted' and 'inprogress'. + +*** + + + +### subreddits? + +> `optional` **subreddits**: `string`[] + +array of subreddit names diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationsResponse.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationsResponse.md new file mode 100644 index 00000000..0bd7b88d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetConversationsResponse.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetConversationsResponse + +> **GetConversationsResponse** = `object` + +## Properties + + + +### conversationIds + +> **conversationIds**: `string`[] + +Array of conversation ids, ordered by the sort parameter specified in [GetConversationsRequest](GetConversationsRequest.md). + +*** + + + +### conversations + +> **conversations**: `object` + +Conversations key-value map + +#### Index Signature + +\[`id`: `string`\]: [`ConversationData`](ConversationData.md) + +*** + + + +### viewerId? + +> `optional` **viewerId**: `T2` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetDuplicatesOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetDuplicatesOptions.md new file mode 100644 index 00000000..c2498aa1 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetDuplicatesOptions.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetDuplicatesOptions + +> **GetDuplicatesOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### crosspostsOnly? + +> `optional` **crosspostsOnly**: `boolean` + +Only return duplicates that are crossposting this post. + +### postId + +> **postId**: `T3` + +Post ID with t3_ prefix (e.g. `t3_abc123`). The prefix is stripped internally. + +### show? + +> `optional` **show**: `string` + +Adding the string "all" will show all results regardless of user preferences. + +### sort? + +> `optional` **sort**: `"num_comments"` \| `"new"` + +One of: "num_comments", "new" + +### subredditName? + +> `optional` **subredditName**: `string` + +Limit search to the given subreddit name. The r/ prefix is optional. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetHotPostsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetHotPostsOptions.md new file mode 100644 index 00000000..26599d27 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetHotPostsOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetHotPostsOptions + +> **GetHotPostsOptions** = [`GetPostsOptions`](GetPostsOptions.md) & `object` + +## Type declaration + +### location? + +> `optional` **location**: `"GLOBAL"` \| `"US"` \| `"AR"` \| `"AU"` \| `"BG"` \| `"CA"` \| `"CL"` \| `"CO"` \| `"HR"` \| `"CZ"` \| `"FI"` \| `"FR"` \| `"DE"` \| `"GR"` \| `"HU"` \| `"IS"` \| `"IN"` \| `"IE"` \| `"IT"` \| `"JP"` \| `"MY"` \| `"MX"` \| `"NZ"` \| `"PH"` \| `"PL"` \| `"PT"` \| `"PR"` \| `"RO"` \| `"RS"` \| `"SG"` \| `"ES"` \| `"SE"` \| `"TW"` \| `"TH"` \| `"TR"` \| `"GB"` \| `"US_WA"` \| `"US_DE"` \| `"US_DC"` \| `"US_WI"` \| `"US_WV"` \| `"US_HI"` \| `"US_FL"` \| `"US_WY"` \| `"US_NH"` \| `"US_NJ"` \| `"US_NM"` \| `"US_TX"` \| `"US_LA"` \| `"US_NC"` \| `"US_ND"` \| `"US_NE"` \| `"US_TN"` \| `"US_NY"` \| `"US_PA"` \| `"US_CA"` \| `"US_NV"` \| `"US_VA"` \| `"US_CO"` \| `"US_AK"` \| `"US_AL"` \| `"US_AR"` \| `"US_VT"` \| `"US_IL"` \| `"US_GA"` \| `"US_IN"` \| `"US_IA"` \| `"US_OK"` \| `"US_AZ"` \| `"US_ID"` \| `"US_CT"` \| `"US_ME"` \| `"US_MD"` \| `"US_MA"` \| `"US_OH"` \| `"US_UT"` \| `"US_MO"` \| `"US_MN"` \| `"US_MI"` \| `"US_RI"` \| `"US_KS"` \| `"US_MT"` \| `"US_MS"` \| `"US_SC"` \| `"US_KY"` \| `"US_OR"` \| `"US_SD"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetModNotesOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetModNotesOptions.md new file mode 100644 index 00000000..017ef99c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetModNotesOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetModNotesOptions + +> **GetModNotesOptions** = `Prettify`\<`Pick`\<`GetNotesRequest`, `"subreddit"` \| `"user"`\> & `object` & `Pick`\<[`ListingFetchOptions`](ListingFetchOptions.md), `"limit"` \| `"before"`\>\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetModerationLogOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetModerationLogOptions.md new file mode 100644 index 00000000..d3f68e8a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetModerationLogOptions.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetModerationLogOptions + +> **GetModerationLogOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### moderatorUsernames? + +> `optional` **moderatorUsernames**: `string`[] + +(optional) A moderator filter. Accepts an array of usernames + +### subredditName + +> **subredditName**: `string` + +Subreddit name + +### type? + +> `optional` **type**: [`ModActionType`](ModActionType.md) + +Type of the Moderator action diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetPageRevisionsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPageRevisionsOptions.md new file mode 100644 index 00000000..4e18c85a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPageRevisionsOptions.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetPageRevisionsOptions + +> **GetPageRevisionsOptions** = `Omit`\<[`ListingFetchOptions`](ListingFetchOptions.md), `"more"`\> & `object` + +## Type declaration + +### page? + +> `optional` **page**: `string` + +The name of the page to get revisions for. + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the page is in. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsByUserOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsByUserOptions.md new file mode 100644 index 00000000..66bcad59 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsByUserOptions.md @@ -0,0 +1,63 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetPostsByUserOptions + +> **GetPostsByUserOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### sort? + +> `optional` **sort**: `"hot"` \| `"new"` \| `"top"` \| `"controversial"` + +*** + + + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsOptions.md new file mode 100644 index 00000000..913e8a24 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetPostsOptions + +> **GetPostsOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### subredditName? + +> `optional` **subredditName**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsOptionsWithTimeframe.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsOptionsWithTimeframe.md new file mode 100644 index 00000000..17d3f770 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPostsOptionsWithTimeframe.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetPostsOptionsWithTimeframe + +> **GetPostsOptionsWithTimeframe** = [`GetPostsOptions`](GetPostsOptions.md) & `object` + +## Type declaration + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetPrivateMessagesOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPrivateMessagesOptions.md new file mode 100644 index 00000000..4ac41b7a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetPrivateMessagesOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetPrivateMessagesOptions + +> **GetPrivateMessagesOptions** = `Prettify`\<`object` & [`ListingFetchOptions`](ListingFetchOptions.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetSortedPostsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetSortedPostsOptions.md new file mode 100644 index 00000000..7225203d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetSortedPostsOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetSortedPostsOptions + +> **GetSortedPostsOptions** = [`GetPostsOptionsWithTimeframe`](GetPostsOptionsWithTimeframe.md) & `object` + +## Type declaration + +### sort + +> **sort**: `"top"` \| `"controversial"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetSubredditUsersByTypeOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetSubredditUsersByTypeOptions.md new file mode 100644 index 00000000..8d524fd8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetSubredditUsersByTypeOptions.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetSubredditUsersByTypeOptions + +> **GetSubredditUsersByTypeOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### subredditName + +> **subredditName**: `string` + +### type + +> **type**: `"banned"` \| `"muted"` \| `"wikibanned"` \| `"contributors"` \| `"wikicontributors"` \| `"moderators"` + +### username? + +> `optional` **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md new file mode 100644 index 00000000..f9789530 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetSubscribedSubredditsForCurrentUserOptions + +> **GetSubscribedSubredditsForCurrentUserOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairBySubredditOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairBySubredditOptions.md new file mode 100644 index 00000000..906af5a3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairBySubredditOptions.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetUserFlairBySubredditOptions + +> **GetUserFlairBySubredditOptions** = [`UserFlairPageOptions`](UserFlairPageOptions.md) & `object` + +## Type declaration + +### name? + +> `optional` **name**: `string` + +The username associated with the flair being retrieved. + +### subreddit + +> **subreddit**: `string` + +The subreddit associated with the flair being retrieved. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairBySubredditResponse.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairBySubredditResponse.md new file mode 100644 index 00000000..27ac5065 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairBySubredditResponse.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetUserFlairBySubredditResponse + +> **GetUserFlairBySubredditResponse** = `object` + +## Properties + + + +### next? + +> `optional` **next**: `string` + +The user id of the last user flair in this slice. Its presence indicates +that there are more items that can be fetched. Pass this into the "after" parameter +in the next call to get the next slice of data + +*** + + + +### prev? + +> `optional` **prev**: `string` + +The user id of the first user flair in this slice. Its presence indicates +that there are items before this item that can be fetched. Pass this into the "before" parameter +in the next call to get the previous slice of data + +*** + + + +### users + +> **users**: [`UserFlair`](UserFlair.md)[] + +The list of user flair diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairOptions.md new file mode 100644 index 00000000..47491800 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserFlairOptions.md @@ -0,0 +1,16 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetUserFlairOptions + +> **GetUserFlairOptions** = [`UserFlairPageOptions`](UserFlairPageOptions.md) & `object` + +## Type declaration + +### usernames? + +> `optional` **usernames**: `string`[] + +If provide the method will return the flairs for the provided users, if not provided +it will return a list of all users assigned flairs in the subreddit diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserOverviewOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserOverviewOptions.md new file mode 100644 index 00000000..158b4d84 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/GetUserOverviewOptions.md @@ -0,0 +1,63 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: GetUserOverviewOptions + +> **GetUserOverviewOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### sort? + +> `optional` **sort**: `"hot"` \| `"new"` \| `"top"` \| `"controversial"` + +*** + + + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Heading.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Heading.md new file mode 100644 index 00000000..f9a6df18 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Heading.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Heading + +> **Heading** = `object` + +## Properties + + + +### c? + +> `optional` **c**: [`HeadingText`](HeadingText.md)[] + +*** + + + +### e + +> **e**: *typeof* [`HEADING_ELEMENT`](../variables/HEADING_ELEMENT.md) + +*** + + + +### l + +> **l**: [`HeadingLevel`](HeadingLevel.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingContainer.md new file mode 100644 index 00000000..3d387e80 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingContainer.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: HeadingContainer\ + +> **HeadingContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### heading() + +> **heading**(`opts`, `cb`): `Context` + +Append a Heading + +#### Parameters + +##### opts + +[`HeadingOptions`](HeadingOptions.md) + +[HeadingOptions](HeadingOptions.md) + +##### cb + +(`heading`) => `void` + +scoped callback to add child elements to this Heading + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingLevel.md b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingLevel.md new file mode 100644 index 00000000..b26f5c7c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingLevel.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: HeadingLevel + +> **HeadingLevel** = `1` \| `2` \| `3` \| `4` \| `5` \| `6` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingOptions.md new file mode 100644 index 00000000..573e00c9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingOptions.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: HeadingOptions + +> **HeadingOptions** = `object` + +## Properties + + + +### level + +> **level**: [`HeadingLevel`](HeadingLevel.md) + +The depth for this heading (such as

,

,

) + +#### See + +[HeadingLevel](HeadingLevel.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingText.md b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingText.md new file mode 100644 index 00000000..5698baff --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/HeadingText.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: HeadingText + +> **HeadingText** = [`RawText`](RawText.md) \| [`Link`](Link.md) \| [`RedditLink`](RedditLink.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/HorizontalRule.md b/versioned_docs/version-0.14/api/public-api/type-aliases/HorizontalRule.md new file mode 100644 index 00000000..927ef1c9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/HorizontalRule.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: HorizontalRule + +> **HorizontalRule** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`HORIZONTAL_RULE_ELEMENT`](../variables/HORIZONTAL_RULE_ELEMENT.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/HorizontalRuleContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/HorizontalRuleContainer.md new file mode 100644 index 00000000..8deef068 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/HorizontalRuleContainer.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: HorizontalRuleContainer\ + +> **HorizontalRuleContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### horizontalRule() + +> **horizontalRule**(): `Context` + +Append a Horizontal Rule + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Image.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Image.md new file mode 100644 index 00000000..d47f5c0e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Image.md @@ -0,0 +1,49 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Image + +> **Image** = `object` + +## Properties + + + +### c? + +> `optional` **c**: `string` + +*** + + + +### e + +> **e**: *typeof* [`IMAGE_ELEMENT`](../variables/IMAGE_ELEMENT.md) + +*** + + + +### id? + +> `optional` **id**: [`MediaAssetId`](MediaAssetId.md) + +*** + + + +### mediaUrl? + +> `optional` **mediaUrl**: `string` + +URL of the media when building; backend may replace with id in processed JSON + +*** + + + +### o? + +> `optional` **o**: [`ObfuscationReason`](ObfuscationReason.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ImageContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ImageContainer.md new file mode 100644 index 00000000..0607da25 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ImageContainer.md @@ -0,0 +1,64 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ImageContainer\ + +> **ImageContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ParagraphContext`](../interfaces/ParagraphContext.md) +- [`TableCellContext`](../interfaces/TableCellContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### animatedImage() + +> **animatedImage**(`opts`): `Context` + +Append an Animated Image + +#### Parameters + +##### opts + +[`MediaOptions`](MediaOptions.md) + +[ImageOptions](ImageOptions.md) + +#### Returns + +`Context` + +*** + + + +### image() + +> **image**(`opts`): `Context` + +Append an Image + +#### Parameters + +##### opts + +[`MediaOptions`](MediaOptions.md) + +[ImageOptions](ImageOptions.md) + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ImageField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ImageField.md new file mode 100644 index 00000000..fed0cd60 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ImageField.md @@ -0,0 +1,18 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ImageField + +> **ImageField** = `Omit`\<[`BaseField`](BaseField.md)\<`string`\>, `"defaultValue"`\> & `object` + +**`Experimental`** + +Allows a user to upload an image as part of submitting the form. The string value that's +given back is the URL of the image. + +## Type declaration + +### type + +> **type**: `"image"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ImageOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ImageOptions.md new file mode 100644 index 00000000..f60acf0e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ImageOptions.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ImageOptions + +> **ImageOptions** = [`MediaOptions`](MediaOptions.md) + +## Borrows + +MediaOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ImagePosition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ImagePosition.md new file mode 100644 index 00000000..bd4a9951 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ImagePosition.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ImagePosition + +> **ImagePosition** = `"cover"` \| `"tiled"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/InternalSetPostFlairOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/InternalSetPostFlairOptions.md new file mode 100644 index 00000000..109d2b28 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/InternalSetPostFlairOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: InternalSetPostFlairOptions + +> **InternalSetPostFlairOptions** = [`SetFlairOptions`](SetFlairOptions.md) & `object` + +## Type declaration + +### postId + +> **postId**: `T3` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/JSONArray.md b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONArray.md new file mode 100644 index 00000000..a1e3c1dd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONArray.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: JSONArray + +> **JSONArray** = [`JSONValue`](JSONValue.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/JSONObject.md b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONObject.md new file mode 100644 index 00000000..44f82d9d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONObject.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: JSONObject + +> **JSONObject** = `object` + +## Index Signature + +\[`key`: `string`\]: [`JSONValue`](JSONValue.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/JSONPrimitive.md b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONPrimitive.md new file mode 100644 index 00000000..91a9e674 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONPrimitive.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: JSONPrimitive + +> **JSONPrimitive** = `boolean` \| `null` \| `number` \| `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/JSONValue.md b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONValue.md new file mode 100644 index 00000000..abd56707 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/JSONValue.md @@ -0,0 +1,19 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: JSONValue + +> **JSONValue** = [`JSONPrimitive`](JSONPrimitive.md) \| [`JSONArray`](JSONArray.md) \| [`JSONObject`](JSONObject.md) + +Any JSON type. Ie, a string, number, boolean, null, an array of these JSON +types, or an object with JSON type values, recursively. + +This type is often used to type-check attempts to serialize and deserialize +classes, functions, and other _JavaScript_-only types that cannot be +represented losslessly in plain JSON. + +## See + + - https://github.com/microsoft/TypeScript/issues/1897 + - https://www.json.org diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/JobContext.md b/versioned_docs/version-0.14/api/public-api/type-aliases/JobContext.md new file mode 100644 index 00000000..a7681394 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/JobContext.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: JobContext + +> **JobContext** = `Omit`\<[`Context`](../@devvit/namespaces/Devvit/type-aliases/Context.md), `"ui"` \| `"dimensions"` \| `"modLog"` \| `"uiEnvironment"`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/LineBreak.md b/versioned_docs/version-0.14/api/public-api/type-aliases/LineBreak.md new file mode 100644 index 00000000..591f669c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/LineBreak.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: LineBreak + +> **LineBreak** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`LINEBREAK_ELEMENT`](../variables/LINEBREAK_ELEMENT.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/LineBreakContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/LineBreakContainer.md new file mode 100644 index 00000000..ccf0815e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/LineBreakContainer.md @@ -0,0 +1,34 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: LineBreakContainer\ + +> **LineBreakContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ParagraphContext`](../interfaces/ParagraphContext.md) +- [`SpoilerContext`](../interfaces/SpoilerContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### linebreak() + +> **linebreak**(): `Context` + +Append a Line Break + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Link.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Link.md new file mode 100644 index 00000000..6f316154 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Link.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Link + +> **Link** = `object` + +## Properties + + + +### a? + +> `optional` **a**: `string` + +*** + + + +### e + +> **e**: *typeof* [`LINK_ELEMENT`](../variables/LINK_ELEMENT.md) + +*** + + + +### f? + +> `optional` **f**: [`FormatRange`](FormatRange.md)[] + +*** + + + +### t + +> **t**: `string` + +*** + + + +### u + +> **u**: [`UrlString`](UrlString.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/LinkContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/LinkContainer.md new file mode 100644 index 00000000..43cdbf25 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/LinkContainer.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: LinkContainer\ + +> **LinkContainer**\<`Context`\> = [`RedditLinkContainer`](RedditLinkContainer.md)\<`Context`\> & `object` + +## Type declaration + +### link() + +Append a Link + +#### Parameters + +##### opts + +[`LinkOptions`](LinkOptions.md) + +[LinkOptions](LinkOptions.md) + +#### Returns + +`Context` + +## Type Parameters + +### Context + +`Context` + +## Mixin diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/LinkFlair.md b/versioned_docs/version-0.14/api/public-api/type-aliases/LinkFlair.md new file mode 100644 index 00000000..48d87f6c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/LinkFlair.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ~~LinkFlair~~ + +> **LinkFlair** = [`CommonFlair`](CommonFlair.md) + +## Deprecated + +Use [CommonFlair](CommonFlair.md). diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/LinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/LinkOptions.md new file mode 100644 index 00000000..4137dfa4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/LinkOptions.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: LinkOptions + +> **LinkOptions** = [`TextOptions`](TextOptions.md) & `object` + +## Type declaration + +### tooltip? + +> `optional` **tooltip**: `string` + +Tooltip text shown when the link is focused + +### url + +> **url**: `string` + +Destination URL + +## Borrows + +TextOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/List.md b/versioned_docs/version-0.14/api/public-api/type-aliases/List.md new file mode 100644 index 00000000..5b024904 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/List.md @@ -0,0 +1,62 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: List + +> **List** = `object` + +Note: the spec is somewhat ambiguous here, consider that +as typed, there are multiple possible representations of +a list of two, top-level, paragraphs. + +e.g. +The CommonMark list of: +``` + * foo + * bar +``` + +could either be represented as +(List + (ListChild + (Paragraph 'foo') + (Paragraph 'bar' ))) + +OR + +(List + (ListChild + (Paragraph 'foo' )) + (ListChild + (Paragraph 'bar))) + +The spec is designed to be interoperable with our CommonMark parser, and as so, +the preferred encoding is the latter. + +If you would like to demo CommonMark Markdown -> AST conversions, +you can try out http://spec.commonmark.org/dingus/ + +## Properties + + + +### c + +> **c**: [`ListItem`](ListItem.md)[] + +*** + + + +### e + +> **e**: *typeof* [`LIST_ELEMENT`](../variables/LIST_ELEMENT.md) + +*** + + + +### o + +> **o**: `boolean` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListChild.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListChild.md new file mode 100644 index 00000000..d7dc7bd9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListChild.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListChild + +> **ListChild** = [`BlockQuote`](BlockQuote.md) \| [`CodeBlock`](CodeBlock.md) \| [`Heading`](Heading.md) \| [`HorizontalRule`](HorizontalRule.md) \| [`List`](List.md) \| [`Paragraph`](Paragraph.md) \| [`Table`](Table.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListContainer.md new file mode 100644 index 00000000..9c0cfc7b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListContainer.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListContainer\ + +> **ListContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### list() + +> **list**(`opts`, `cb`): `Context` + +Append a List + +#### Parameters + +##### opts + +[`ListOptions`](ListOptions.md) + +[ListOptions](ListOptions.md) + +##### cb + +(`list`) => `void` + +scoped callback to add child elements to this List + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListItem.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListItem.md new file mode 100644 index 00000000..2bf33ed1 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListItem.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListItem + +> **ListItem** = `object` + +## Properties + + + +### c? + +> `optional` **c**: [`ListChild`](ListChild.md)[] + +*** + + + +### e + +> **e**: *typeof* [`LIST_ITEM_ELEMENT`](../variables/LIST_ITEM_ELEMENT.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListItemContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListItemContainer.md new file mode 100644 index 00000000..d3dade97 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListItemContainer.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListItemContainer\ + +> **ListItemContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListContext`](../interfaces/ListContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### item() + +> **item**(`cb`): `Context` + +Append a List Item to a List + +#### Parameters + +##### cb + +(`item`) => `void` + +scoped callback to add child elements to this List Item + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListOptions.md new file mode 100644 index 00000000..0e3b3275 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListOptions.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListOptions + +> **ListOptions** = `object` + +## Properties + + + +### ordered + +> **ordered**: `boolean` + +Whether to use numbers or dots as list item markers diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListingFetchOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListingFetchOptions.md new file mode 100644 index 00000000..7191e40a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListingFetchOptions.md @@ -0,0 +1,55 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListingFetchOptions + +> **ListingFetchOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +The ID of the object to start at. + +*** + + + +### before? + +> `optional` **before**: `string` + +The ID of the object to end at. + +*** + + + +### limit? + +> `optional` **limit**: `number` + +The maximum number of objects to get. + +*** + + + +### more? + +> `optional` **more**: [`MoreObject`](MoreObject.md) + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +The number of objects to get per request. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ListingFetchResponse.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ListingFetchResponse.md new file mode 100644 index 00000000..d02e93ae --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ListingFetchResponse.md @@ -0,0 +1,45 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ListingFetchResponse\ + +> **ListingFetchResponse**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### children + +> **children**: `T`[] + +*** + + + +### more? + +> `optional` **more**: [`MoreObject`](MoreObject.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Media.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Media.md new file mode 100644 index 00000000..5e8887a4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Media.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Media + +> **Media** = [`Image`](Image.md) \| [`AnimatedImage`](AnimatedImage.md) \| [`Video`](Video.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MediaAsset.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaAsset.md new file mode 100644 index 00000000..1833b883 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaAsset.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MediaAsset + +> **MediaAsset** = `object` + +## Properties + + + +### mediaId + +> **mediaId**: `string` + +The unique identifier for the media asset. + +*** + + + +### mediaUrl + +> **mediaUrl**: `string` + +The Reddit URL where the media asset can be accessed. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MediaAssetId.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaAssetId.md new file mode 100644 index 00000000..f742d740 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaAssetId.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MediaAssetId + +> **MediaAssetId** = `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MediaOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaOptions.md new file mode 100644 index 00000000..2e755dc3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaOptions.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MediaOptions + +> **MediaOptions** = `object` + +## Properties + + + +### blur? + +> `optional` **blur**: [`ObfuscationReason`](ObfuscationReason.md) + +If provided, the content should be blurred by default for the provided reason + +#### See + +[ObfuscationReason](ObfuscationReason.md) + +*** + + + +### caption? + +> `optional` **caption**: `string` + +Media description + +*** + + + +### mediaUrl + +> **mediaUrl**: `string` + +URL of the media diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MediaPlugin.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaPlugin.md new file mode 100644 index 00000000..36843fb9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MediaPlugin.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MediaPlugin + +> **MediaPlugin** = `MediaClient` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MentionInCommentCreate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MentionInCommentCreate.md new file mode 100644 index 00000000..f9ee6417 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MentionInCommentCreate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MentionInCommentCreate + +> **MentionInCommentCreate** = `"MentionInCommentCreate"` + +The event name for when a newly created comment mentions the app diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MentionInCommentCreateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MentionInCommentCreateDefinition.md new file mode 100644 index 00000000..463638ee --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MentionInCommentCreateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MentionInCommentCreateDefinition + +> **MentionInCommentCreateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`MentionInCommentCreate`](MentionInCommentCreate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`MentionInCommentCreate`](../@devvit/namespaces/EventTypes/interfaces/MentionInCommentCreate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItem.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItem.md new file mode 100644 index 00000000..ec958492 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItem.md @@ -0,0 +1,83 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MenuItem + +> **MenuItem** = `object` + +## Properties + + + +### description? + +> `optional` **description**: `string` + +An optional description for the menu item + +*** + + + +### forUserType? + +> `optional` **forUserType**: [`MenuItemUserType`](MenuItemUserType.md) \| [`MenuItemUserType`](MenuItemUserType.md)[] + +The user type(s) that the menu item should be displayed for + +*** + + + +### label + +> **label**: `string` + +The label of the menu item + +*** + + + +### location + +> **location**: [`MenuItemLocation`](MenuItemLocation.md) \| [`MenuItemLocation`](MenuItemLocation.md)[] + +The location(s) where the menu item should be displayed + +*** + + + +### onPress() + +> **onPress**: (`event`, `context`) => `void` \| `Promise`\<`void`\> + +A function that is called when the menu item is pressed + +#### Parameters + +##### event + +[`MenuItemOnPressEvent`](MenuItemOnPressEvent.md) + +##### context + +[`Context`](../@devvit/namespaces/Devvit/type-aliases/Context.md) + +#### Returns + +`void` \| `Promise`\<`void`\> + +*** + + + +### postFilter? + +> `optional` **postFilter**: [`MenuItemPostFilter`](MenuItemPostFilter.md) + +**`Experimental`** + +The filter that applies to post menu items and has no effect on non-post actions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemLocation.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemLocation.md new file mode 100644 index 00000000..8dd7a926 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemLocation.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MenuItemLocation + +> **MenuItemLocation** = `"subreddit"` \| `"post"` \| `"comment"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemOnPressEvent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemOnPressEvent.md new file mode 100644 index 00000000..19911ae2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemOnPressEvent.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MenuItemOnPressEvent + +> **MenuItemOnPressEvent** = `object` + +## Properties + + + +### location + +> **location**: [`MenuItemLocation`](MenuItemLocation.md) + +The location where the menu item was pressed + +*** + + + +### targetId + +> **targetId**: `string` + +The ID of subreddit, post, or comment that the menu item was pressed; +includes Thing ID prefix: +- t1_ - comment +- t5_ - subreddit +- t3_ - post diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemPostFilter.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemPostFilter.md new file mode 100644 index 00000000..c8bc8fb2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemPostFilter.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MenuItemPostFilter + +> **MenuItemPostFilter** = `"currentApp"` + +You can use the "currentApp" filter to only display the menu item on custom posts that were created by your app. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemUserType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemUserType.md new file mode 100644 index 00000000..ddde9d03 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuItemUserType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MenuItemUserType + +> **MenuItemUserType** = `"loggedOut"` \| `"moderator"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MenuPosition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuPosition.md new file mode 100644 index 00000000..97a8d7f5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MenuPosition.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MenuPosition + +> **MenuPosition** = `"default"` \| `"overlay"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MessageData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MessageData.md new file mode 100644 index 00000000..12cc50d0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MessageData.md @@ -0,0 +1,69 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MessageData + +> **MessageData** = `object` + +## Properties + + + +### author? + +> `optional` **author**: [`Participant`](Participant.md) + +*** + + + +### body? + +> `optional` **body**: `string` + +Message body + +*** + + + +### bodyMarkdown? + +> `optional` **bodyMarkdown**: `string` + +*** + + + +### date? + +> `optional` **date**: `string` + +When was created + +*** + + + +### id? + +> `optional` **id**: `string` + +Message ID + +*** + + + +### isInternal? + +> `optional` **isInternal**: `boolean` + +*** + + + +### participatingAs? + +> `optional` **participatingAs**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Metadata.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Metadata.md new file mode 100644 index 00000000..9a50c63b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Metadata.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Metadata + +> **Metadata** = `object` + +Optional RPC metadata passed with every request. + +## Index Signature + +\[`key`: `string`\]: `Strings` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionData.md new file mode 100644 index 00000000..318875e2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionData.md @@ -0,0 +1,75 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModActionData + +> **ModActionData** = `object` + +## Properties + + + +### actionType + +> **actionType**: [`ModMailActionType`](../enumerations/ModMailActionType.md) + +Type of the action + +*** + + + +### author? + +> `optional` **author**: `object` + +Action author + +#### id? + +> `optional` **id**: `number` + +User id + +#### isAdmin? + +> `optional` **isAdmin**: `boolean` + +#### isDeleted? + +> `optional` **isDeleted**: `boolean` + +#### isHidden? + +> `optional` **isHidden**: `boolean` + +#### isMod? + +> `optional` **isMod**: `boolean` + +#### name? + +> `optional` **name**: `string` + +User name + +*** + + + +### date? + +> `optional` **date**: `string` + +When the action happened + +*** + + + +### id? + +> `optional` **id**: `string` + +Action id diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionDefinition.md new file mode 100644 index 00000000..e9bb174c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModActionDefinition + +> **ModActionDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`ModActionTrigger`](ModActionTrigger.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<`ModAction`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionTarget.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionTarget.md new file mode 100644 index 00000000..945aeb92 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionTarget.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModActionTarget + +> **ModActionTarget** = `object` + +## Properties + + + +### author? + +> `optional` **author**: `string` + +*** + + + +### body? + +> `optional` **body**: `string` + +*** + + + +### id + +> **id**: `string` + +*** + + + +### permalink? + +> `optional` **permalink**: `string` + +*** + + + +### title? + +> `optional` **title**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionTrigger.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionTrigger.md new file mode 100644 index 00000000..8a6ab9c8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionTrigger.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModActionTrigger + +> **ModActionTrigger** = `"ModAction"` + +The event name for when a moderator action is recorded to a subreddit's modlog diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionType.md new file mode 100644 index 00000000..48fdb718 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModActionType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModActionType + +> **ModActionType** = `"banuser"` \| `"unbanuser"` \| `"spamlink"` \| `"removelink"` \| `"approvelink"` \| `"spamcomment"` \| `"removecomment"` \| `"approvecomment"` \| `"addmoderator"` \| `"showcomment"` \| `"invitemoderator"` \| `"uninvitemoderator"` \| `"acceptmoderatorinvite"` \| `"removemoderator"` \| `"addcontributor"` \| `"removecontributor"` \| `"editsettings"` \| `"editflair"` \| `"distinguish"` \| `"marknsfw"` \| `"wikibanned"` \| `"wikicontributor"` \| `"wikiunbanned"` \| `"wikipagelisted"` \| `"removewikicontributor"` \| `"wikirevise"` \| `"wikipermlevel"` \| `"ignorereports"` \| `"unignorereports"` \| `"setpermissions"` \| `"setsuggestedsort"` \| `"sticky"` \| `"unsticky"` \| `"setcontestmode"` \| `"unsetcontestmode"` \| `"lock"` \| `"unlock"` \| `"muteuser"` \| `"unmuteuser"` \| `"createrule"` \| `"editrule"` \| `"reorderrules"` \| `"deleterule"` \| `"spoiler"` \| `"unspoiler"` \| `"modmail_enrollment"` \| `"community_styling"` \| `"community_widgets"` \| `"markoriginalcontent"` \| `"collections"` \| `"events"` \| `"create_award"` \| `"disable_award"` \| `"delete_award"` \| `"enable_award"` \| `"mod_award_given"` \| `"hidden_award"` \| `"add_community_topics"` \| `"remove_community_topics"` \| `"create_scheduled_post"` \| `"edit_scheduled_post"` \| `"delete_scheduled_post"` \| `"submit_scheduled_post"` \| `"edit_post_requirements"` \| `"invitesubscriber"` \| `"submit_content_rating_survey"` \| `"adjust_post_crowd_control_level"` \| `"enable_post_crowd_control_filter"` \| `"disable_post_crowd_control_filter"` \| `"deleteoverriddenclassification"` \| `"overrideclassification"` \| `"reordermoderators"` \| `"snoozereports"` \| `"unsnoozereports"` \| `"addnote"` \| `"deletenote"` \| `"addremovalreason"` \| `"createremovalreason"` \| `"updateremovalreason"` \| `"deleteremovalreason"` \| `"reorderremovalreason"` \| `"dev_platform_app_changed"` \| `"dev_platform_app_disabled"` \| `"dev_platform_app_enabled"` \| `"dev_platform_app_installed"` \| `"dev_platform_app_uninstalled"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModLogOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModLogOptions.md new file mode 100644 index 00000000..6f731180 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModLogOptions.md @@ -0,0 +1,13 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModLogOptions\ + +> **ModLogOptions**\<`T`\> = `Omit`\<`AboutSubredditHelperOptions`\<`T`\>, `"location"`\> + +## Type Parameters + +### T + +`T` *extends* [`AboutSubredditTypes`](AboutSubredditTypes.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModMailDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModMailDefinition.md new file mode 100644 index 00000000..de205951 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModMailDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModMailDefinition + +> **ModMailDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`ModMailTrigger`](ModMailTrigger.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<`ModMail`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModMailTrigger.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModMailTrigger.md new file mode 100644 index 00000000..9cc6ea30 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModMailTrigger.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModMailTrigger + +> **ModMailTrigger** = `"ModMail"` + +The event name for when a mod mail is sent/received diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModNoteType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModNoteType.md new file mode 100644 index 00000000..cb5de863 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModNoteType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModNoteType + +> **ModNoteType** = `"NOTE"` \| `"APPROVAL"` \| `"REMOVAL"` \| `"BAN"` \| `"MUTE"` \| `"INVITE"` \| `"SPAM"` \| `"CONTENT_CHANGE"` \| `"MOD_ACTION"` \| `"ALL"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModeratorPermission.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModeratorPermission.md new file mode 100644 index 00000000..dfa2d0c3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModeratorPermission.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModeratorPermission + +> **ModeratorPermission** = `"all"` \| `"wiki"` \| `"posts"` \| `"access"` \| `"mail"` \| `"config"` \| `"flair"` \| `"chat_operator"` \| `"chat_config"` \| `"channels"` \| `"community_chat"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ModeratorReport.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ModeratorReport.md new file mode 100644 index 00000000..7f38a5bb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ModeratorReport.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ModeratorReport + +> **ModeratorReport** = `object` + +A moderator report attached to a post or comment. + +## Properties + + + +### author + +> **author**: `string` + +Username of the author without the u/ prefix, e.g. 'spez' + +*** + + + +### reason + +> **reason**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MoreObject.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MoreObject.md new file mode 100644 index 00000000..aefab812 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MoreObject.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MoreObject + +> **MoreObject** = `object` + +## Properties + + + +### children + +> **children**: `T1`[] + +*** + + + +### depth + +> **depth**: `number` + +*** + + + +### parentId + +> **parentId**: `T1` \| `T3` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/MultiTriggerDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/MultiTriggerDefinition.md new file mode 100644 index 00000000..4d5787fc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/MultiTriggerDefinition.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: MultiTriggerDefinition\ + +> **MultiTriggerDefinition**\<`Event`\> = `object` + +## Type Parameters + +### Event + +`Event` *extends* [`TriggerEvent`](TriggerEvent.md) + +## Properties + + + +### events + +> **events**: readonly `Event`[] + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`TriggerEventType`](TriggerEventType.md)\[`Event`\]\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/NumberField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/NumberField.md new file mode 100644 index 00000000..0536fedd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/NumberField.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: NumberField + +> **NumberField** = `Prettify`\<[`BaseField`](BaseField.md)\<`number`\> & `Omit`\<`FieldConfig_Number`, `"min"` \| `"max"` \| `"step"`\> & `object`\> + +A number field diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ObfuscationReason.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ObfuscationReason.md new file mode 100644 index 00000000..8a8a2040 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ObfuscationReason.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ObfuscationReason + +> **ObfuscationReason** = `"nsfw"` \| `"spoiler"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Oembed.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Oembed.md new file mode 100644 index 00000000..9bc9e057 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Oembed.md @@ -0,0 +1,142 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Oembed + +> **Oembed** = `object` + +oEmbed is a format for allowing an embedded representation of a URL on third party sites. +The simple API allows a website to display embedded content (such as photos or videos) +when a user posts a link to that resource, without having to parse the resource directly. +See: https://oembed.com/ + +## Properties + + + +### authorName? + +> `optional` **authorName**: `string` + +The name of the author/owner of the resource. E.g. "Reddit" + +*** + + + +### authorUrl? + +> `optional` **authorUrl**: `string` + +A URL for the author/owner of the resource. E.g. "https://www.youtube.com/@Reddit" + +*** + + + +### height? + +> `optional` **height**: `number` + +The width in pixels required to display the HTML. + +*** + + + +### html + +> **html**: `string` + +The HTML required to embed a video player. The HTML should have no padding or margins. Consumers may wish to load the HTML in an off-domain iframe to avoid XSS vulnerabilities. + +*** + + + +### providerName? + +> `optional` **providerName**: `string` + +A URL for the author/owner of the resource. E.g. "YouTube" + +*** + + + +### providerUrl? + +> `optional` **providerUrl**: `string` + +The name of the resource provider. E.g "https://www.youtube.com/" + +*** + + + +### thumbnailHeight? + +> `optional` **thumbnailHeight**: `number` + +The height of the optional thumbnail in pixels + +*** + + + +### thumbnailUrl? + +> `optional` **thumbnailUrl**: `string` + +A URL to a thumbnail image representing the resource. + +*** + + + +### thumbnailWidth? + +> `optional` **thumbnailWidth**: `number` + +The width of the optional thumbnail in pixels + +*** + + + +### title? + +> `optional` **title**: `string` + +A text title, describing the resource. + +*** + + + +### type + +> **type**: `string` + +The resource type. Valid values, along with value-specific parameters, are described below. E.g. "video" + +*** + + + +### version + +> **version**: `string` + +The oEmbed version number. This must be 1.0. + +*** + + + +### width? + +> `optional` **width**: `number` + +The height in pixels required to display the HTML. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/OnAutomoderatorFilterCommentDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/OnAutomoderatorFilterCommentDefinition.md new file mode 100644 index 00000000..c1e5448f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/OnAutomoderatorFilterCommentDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: OnAutomoderatorFilterCommentDefinition + +> **OnAutomoderatorFilterCommentDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`AutomoderatorFilterComment`](AutomoderatorFilterComment.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`AutomoderatorFilterComment`](../@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterComment.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/OnAutomoderatorFilterPostDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/OnAutomoderatorFilterPostDefinition.md new file mode 100644 index 00000000..28f8b8c6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/OnAutomoderatorFilterPostDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: OnAutomoderatorFilterPostDefinition + +> **OnAutomoderatorFilterPostDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`AutomoderatorFilterPost`](AutomoderatorFilterPost.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`AutomoderatorFilterPost`](../@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterPost.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/OnTriggerRequest.md b/versioned_docs/version-0.14/api/public-api/type-aliases/OnTriggerRequest.md new file mode 100644 index 00000000..13e3148e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/OnTriggerRequest.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: OnTriggerRequest + +> **OnTriggerRequest** = [`PostFlairUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostFlairUpdate.md) \| [`PostSubmit`](../@devvit/namespaces/EventTypes/interfaces/PostSubmit.md) \| [`PostCreate`](../@devvit/namespaces/EventTypes/interfaces/PostCreate.md) \| [`PostUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostUpdate.md) \| [`PostReport`](../@devvit/namespaces/EventTypes/interfaces/PostReport.md) \| [`PostDelete`](../@devvit/namespaces/EventTypes/interfaces/PostDelete.md) \| [`CommentSubmit`](../@devvit/namespaces/EventTypes/interfaces/CommentSubmit.md) \| [`CommentCreate`](../@devvit/namespaces/EventTypes/interfaces/CommentCreate.md) \| [`CommentUpdate`](../@devvit/namespaces/EventTypes/interfaces/CommentUpdate.md) \| [`CommentReport`](../@devvit/namespaces/EventTypes/interfaces/CommentReport.md) \| [`CommentDelete`](../@devvit/namespaces/EventTypes/interfaces/CommentDelete.md) \| [`MentionInCommentCreate`](../@devvit/namespaces/EventTypes/interfaces/MentionInCommentCreate.md) \| [`AppInstall`](../@devvit/namespaces/EventTypes/interfaces/AppInstall.md) \| [`AppUpgrade`](../@devvit/namespaces/EventTypes/interfaces/AppUpgrade.md) \| `ModAction` \| `ModMail` \| [`PostNsfwUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostNsfwUpdate.md) \| [`PostSpoilerUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostSpoilerUpdate.md) \| [`AutomoderatorFilterPost`](../@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterPost.md) \| [`AutomoderatorFilterComment`](../@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterComment.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/OnValidateHandler.md b/versioned_docs/version-0.14/api/public-api/type-aliases/OnValidateHandler.md new file mode 100644 index 00000000..f1db7494 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/OnValidateHandler.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: OnValidateHandler()\ + +> **OnValidateHandler**\<`ValueType`\> = (`event`, `context`) => `void` \| `string` \| `Promise`\<`void` \| `string`\> + +## Type Parameters + +### ValueType + +`ValueType` + +## Parameters + +### event + +[`SettingsFormFieldValidatorEvent`](SettingsFormFieldValidatorEvent.md)\<`ValueType`\> + +### context + +[`Context`](../@devvit/namespaces/Devvit/type-aliases/Context.md) + +## Returns + +`void` \| `string` \| `Promise`\<`void` \| `string`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Paragraph.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Paragraph.md new file mode 100644 index 00000000..5db716bc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Paragraph.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Paragraph + +> **Paragraph** = `object` + +## Properties + + + +### c + +> **c**: [`ParagraphContentNode`](ParagraphContentNode.md)[] + +*** + + + +### e + +> **e**: *typeof* [`PARAGRAPH_ELEMENT`](../variables/PARAGRAPH_ELEMENT.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphContainer.md new file mode 100644 index 00000000..0d1fb187 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphContainer.md @@ -0,0 +1,42 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ParagraphContainer\ + +> **ParagraphContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`BlockQuoteContext`](../interfaces/BlockQuoteContext.md) +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### paragraph() + +> **paragraph**(`cb`): `Context` + +Append a Paragraph + +#### Parameters + +##### cb + +(`paragraph`) => `void` + +scoped callback to add child elements to this Paragraph + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphContentNode.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphContentNode.md new file mode 100644 index 00000000..e772d95e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphContentNode.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ParagraphContentNode + +> **ParagraphContentNode** = [`TextNode`](TextNode.md) \| [`Image`](Image.md) \| [`AnimatedImage`](AnimatedImage.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphField.md new file mode 100644 index 00000000..47e1b708 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ParagraphField.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ParagraphField + +> **ParagraphField** = `Prettify`\<[`BaseField`](BaseField.md)\<`string`\> & `Omit`\<`FieldConfig_Paragraph`, `"maxCharacters"`\> & `object`\> + +A paragraph or textarea field diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONArray.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONArray.md new file mode 100644 index 00000000..18605164 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONArray.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PartialJSONArray + +> **PartialJSONArray** = [`PartialJSONValue`](PartialJSONValue.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONObject.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONObject.md new file mode 100644 index 00000000..2062fa1f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONObject.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PartialJSONObject + +> **PartialJSONObject** = `Partial`\<\{\}\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONPrimitive.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONPrimitive.md new file mode 100644 index 00000000..773c4d59 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONPrimitive.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PartialJSONPrimitive + +> **PartialJSONPrimitive** = `boolean` \| `null` \| `number` \| `string` \| `undefined` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONValue.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONValue.md new file mode 100644 index 00000000..48db9dd1 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PartialJSONValue.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PartialJSONValue + +> **PartialJSONValue** = [`PartialJSONPrimitive`](PartialJSONPrimitive.md) \| [`PartialJSONArray`](PartialJSONArray.md) \| [`PartialJSONObject`](PartialJSONObject.md) + +Like JsonValue but deeply allow lossy undefined values that are easier to +type but may de/serialize differently or incorrectly. For example: + +- `JSON.stringify({a: 1, b: 2, c: undefined, d: 3})`: `'{"a":1,"b":2,"d":3}'`. +- `JSON.stringify([1, 2, undefined, 3])`: `'[1,2,null,3]'`. +- `JSON.stringify(undefined)`: `undefined`. + +JSON.stringify() accepts an `any` input so there are no typing guards. Prefer +plain JsonValue when possible. + +One mostly only cares about stringify since creating a JSON string with +undefineds in it would require deliberate effort. These all throw errors: + +- `JSON.parse('{a: 1, b: 2, c: undefined, d: 3}')`. +- `JSON.parse('[1, 2, undefined, 3]')`. +- `JSON.parse('undefined')`. +- `JSON.parse(undefined)` (also a typing error). diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Participant.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Participant.md new file mode 100644 index 00000000..e86ca6e6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Participant.md @@ -0,0 +1,81 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Participant + +> **Participant** = `object` + +Conversation participant + +## Properties + + + +### id? + +> `optional` **id**: `T2` + +*** + + + +### isAdmin? + +> `optional` **isAdmin**: `boolean` + +*** + + + +### isApproved? + +> `optional` **isApproved**: `boolean` + +*** + + + +### isDeleted? + +> `optional` **isDeleted**: `boolean` + +*** + + + +### isHidden? + +> `optional` **isHidden**: `boolean` + +*** + + + +### isMod? + +> `optional` **isMod**: `boolean` + +*** + + + +### isOp? + +> `optional` **isOp**: `boolean` + +*** + + + +### isParticipant? + +> `optional` **isParticipant**: `boolean` + +*** + + + +### name? + +> `optional` **name**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PlainText.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PlainText.md new file mode 100644 index 00000000..d2faa7b2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PlainText.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PlainText + +> **PlainText** = [`Text`](Text.md) \| [`Link`](Link.md) \| [`RedditLink`](RedditLink.md) \| [`LineBreak`](LineBreak.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PluginSettings.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PluginSettings.md new file mode 100644 index 00000000..32e113f0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PluginSettings.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PluginSettings + +> **PluginSettings** = `object` + +## Properties + + + +### enabled + +> **enabled**: `boolean` + +Whether the plugin is enabled diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PollData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PollData.md new file mode 100644 index 00000000..602b3f23 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PollData.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PollData + +> **PollData** = `object` + +Aggregated poll data for a poll post. + +## Properties + + + +### options + +> **options**: [`PollOption`](PollOption.md)[] + +Options in the poll. + +*** + + + +### totalVoteCount + +> **totalVoteCount**: `number` + +Total number of votes cast in the poll. Aggregated across all PollOption objects. + +*** + + + +### votingEndTimestamp + +> **votingEndTimestamp**: `number` + +Time the poll voting closes, in Unix milliseconds. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PollOption.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PollOption.md new file mode 100644 index 00000000..1fa3aa98 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PollOption.md @@ -0,0 +1,39 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PollOption + +> **PollOption** = `object` + +Poll option on a poll post. + +## Properties + + + +### id + +> **id**: `string` + +ID of the poll option. + +*** + + + +### text + +> **text**: `string` + +The text of the poll option. + +*** + + + +### voteCount + +> **voteCount**: `number` + +The number of votes this poll option has received. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PositionedImagePosition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PositionedImagePosition.md new file mode 100644 index 00000000..f2b262db --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PositionedImagePosition.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PositionedImagePosition + +> **PositionedImagePosition** = `"left"` \| `"right"` \| `"centered"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostCapabilities.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostCapabilities.md new file mode 100644 index 00000000..623639b5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostCapabilities.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostCapabilities + +> **PostCapabilities** = `"ama"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostCreate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostCreate.md new file mode 100644 index 00000000..9835dee5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostCreate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostCreate + +> **PostCreate** = `"PostCreate"` + +The event name for when a post is created, after safety delay diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostCreateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostCreateDefinition.md new file mode 100644 index 00000000..4c45a6dc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostCreateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostCreateDefinition + +> **PostCreateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostCreate`](PostCreate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostCreate`](../@devvit/namespaces/EventTypes/interfaces/PostCreate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostDelete.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostDelete.md new file mode 100644 index 00000000..a65516ca --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostDelete.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostDelete + +> **PostDelete** = `"PostDelete"` + +The event name for when a post is deleted diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostDeleteDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostDeleteDefinition.md new file mode 100644 index 00000000..367cb237 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostDeleteDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostDeleteDefinition + +> **PostDeleteDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostDelete`](PostDelete.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostDelete`](../@devvit/namespaces/EventTypes/interfaces/PostDelete.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostFlairUpdate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostFlairUpdate.md new file mode 100644 index 00000000..4e54d254 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostFlairUpdate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostFlairUpdate + +> **PostFlairUpdate** = `"PostFlairUpdate"` + +The event name for when the flair of a post is updated diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostFlairUpdateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostFlairUpdateDefinition.md new file mode 100644 index 00000000..72e97ba6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostFlairUpdateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostFlairUpdateDefinition + +> **PostFlairUpdateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostFlairUpdate`](PostFlairUpdate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostFlairUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostFlairUpdate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostLink.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostLink.md new file mode 100644 index 00000000..1c33ec74 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostLink.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostLink + +> **PostLink** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`POST_LINK_ELEMENT`](../variables/POST_LINK_ELEMENT.md) + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostLinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostLinkOptions.md new file mode 100644 index 00000000..7e8eab5e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostLinkOptions.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostLinkOptions + +> **PostLinkOptions** = [`RedditPermalinkOptions`](RedditPermalinkOptions.md) + +## Borrows + +RedditPermalinkOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostNsfwUpdate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostNsfwUpdate.md new file mode 100644 index 00000000..57786253 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostNsfwUpdate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostNsfwUpdate + +> **PostNsfwUpdate** = `"PostNsfwUpdate"` + +The event name for when a post is marked/unmarked as nsfw diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostNsfwUpdateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostNsfwUpdateDefinition.md new file mode 100644 index 00000000..61d12ab4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostNsfwUpdateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostNsfwUpdateDefinition + +> **PostNsfwUpdateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostNsfwUpdate`](PostNsfwUpdate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostNsfwUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostNsfwUpdate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostReport.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostReport.md new file mode 100644 index 00000000..c4c9287c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostReport.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostReport + +> **PostReport** = `"PostReport"` + +The event name for when a post is reported diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostReportDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostReportDefinition.md new file mode 100644 index 00000000..f0b24e72 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostReportDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostReportDefinition + +> **PostReportDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostReport`](PostReport.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostReport`](../@devvit/namespaces/EventTypes/interfaces/PostReport.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostSpoilerUpdate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSpoilerUpdate.md new file mode 100644 index 00000000..234dda44 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSpoilerUpdate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostSpoilerUpdate + +> **PostSpoilerUpdate** = `"PostSpoilerUpdate"` + +The event name for when a post is marked/unmarked as spoiler diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostSpoilerUpdateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSpoilerUpdateDefinition.md new file mode 100644 index 00000000..6a290a74 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSpoilerUpdateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostSpoilerUpdateDefinition + +> **PostSpoilerUpdateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostSpoilerUpdate`](PostSpoilerUpdate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostSpoilerUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostSpoilerUpdate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostSubmit.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSubmit.md new file mode 100644 index 00000000..9f32f20d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSubmit.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostSubmit + +> **PostSubmit** = `"PostSubmit"` + +The event name for when a post is submitted diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostSubmitDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSubmitDefinition.md new file mode 100644 index 00000000..492fdf5f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSubmitDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostSubmitDefinition + +> **PostSubmitDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostSubmit`](PostSubmit.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostSubmit`](../@devvit/namespaces/EventTypes/interfaces/PostSubmit.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostSuggestedCommentSort.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSuggestedCommentSort.md new file mode 100644 index 00000000..b1b89d9e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostSuggestedCommentSort.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostSuggestedCommentSort + +> **PostSuggestedCommentSort** = `"BLANK"` \| `"CONFIDENCE"` \| `"CONTROVERSIAL"` \| `"LIVE"` \| `"NEW"` \| `"OLD"` \| `"QA"` \| `"RANDOM"` \| `"TOP"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostTextOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostTextOptions.md new file mode 100644 index 00000000..5ae69fa4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostTextOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostTextOptions + +> **PostTextOptions** = \{ `text`: `string`; \} \| \{ `richtext`: `object` \| [`RichTextBuilder`](../classes/RichTextBuilder.md); \} diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostType.md new file mode 100644 index 00000000..4f101e57 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostType + +> **PostType** = `"link"` \| `"image"` \| `"video"` \| `"text"` \| `"spoiler"` \| `"poll"` \| `"gallery"` \| `"talk"` \| `"prediction"` \| `"videogif"` \| `"streaming"` \| `"crosspost"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostUpdate.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostUpdate.md new file mode 100644 index 00000000..575b388a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostUpdate.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostUpdate + +> **PostUpdate** = `"PostUpdate"` + +The event name for when a post is updated diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PostUpdateDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PostUpdateDefinition.md new file mode 100644 index 00000000..86a86342 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PostUpdateDefinition.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PostUpdateDefinition + +> **PostUpdateDefinition** = `object` + +## Properties + + + +### event + +> **event**: [`PostUpdate`](PostUpdate.md) + +*** + + + +### onEvent + +> **onEvent**: [`TriggerOnEventHandler`](TriggerOnEventHandler.md)\<[`PostUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostUpdate.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/PrefixedRedditLinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/PrefixedRedditLinkOptions.md new file mode 100644 index 00000000..a8e33c1d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/PrefixedRedditLinkOptions.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: PrefixedRedditLinkOptions + +> **PrefixedRedditLinkOptions** = `object` + +## Borrows + +PrefixedRedditLinkOptions + +## Properties + + + +### showPrefix + +> **showPrefix**: `boolean` + +Whether to render a type prefix on the link (such as "r/" or "u/") diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RawText.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RawText.md new file mode 100644 index 00000000..c154e2f0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RawText.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RawText + +> **RawText** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`RAW_TEXT_ELEMENT`](../variables/RAW_TEXT_ELEMENT.md) + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RawTextContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RawTextContainer.md new file mode 100644 index 00000000..8ab9b669 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RawTextContainer.md @@ -0,0 +1,40 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RawTextContainer\ + +> **RawTextContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`CodeBlockContext`](../interfaces/CodeBlockContext.md) +- [`HeadingContext`](../interfaces/HeadingContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### rawText() + +> **rawText**(`text`): `Context` + +Append unstyled text + +#### Parameters + +##### text + +`string` + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RawTextOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RawTextOptions.md new file mode 100644 index 00000000..f7c57cc4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RawTextOptions.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RawTextOptions + +> **RawTextOptions** = `object` + +## Properties + + + +### text + +> **text**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RedditLink.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditLink.md new file mode 100644 index 00000000..f3c498ef --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditLink.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RedditLink + +> **RedditLink** = [`CommentLink`](CommentLink.md) \| [`PostLink`](PostLink.md) \| [`SubredditLink`](SubredditLink.md) \| [`UserLink`](UserLink.md) \| [`UserMention`](UserMention.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RedditLinkContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditLinkContainer.md new file mode 100644 index 00000000..6503d8ca --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditLinkContainer.md @@ -0,0 +1,127 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RedditLinkContainer\ + +> **RedditLinkContainer**\<`Context`\> = `object` + +## Mixin + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### commentLink() + +> **commentLink**(`opts`): `Context` + +Append a link to a Reddit Comment + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](RedditPermalinkOptions.md) + +[CommentLinkOptions](CommentLinkOptions.md) + +#### Returns + +`Context` + +*** + + + +### postLink() + +> **postLink**(`opts`): `Context` + +Append a link to a Reddit Post + +#### Parameters + +##### opts + +[`RedditPermalinkOptions`](RedditPermalinkOptions.md) + +[PostLinkOptions](PostLinkOptions.md) + +#### Returns + +`Context` + +*** + + + +### subredditLink() + +> **subredditLink**(`opts`): `Context` + +Append a link to a Reddit Subreddit + +#### Parameters + +##### opts + +[`SubredditLinkOptions`](SubredditLinkOptions.md) + +[SubredditLinkOptions](SubredditLinkOptions.md) + +#### Returns + +`Context` + +*** + + + +### userLink() + +> **userLink**(`opts`): `Context` + +Append a link to a Reddit User + +#### Parameters + +##### opts + +[`UserLinkOptions`](UserLinkOptions.md) + +[UserLinkOptions](UserLinkOptions.md) + +#### Returns + +`Context` + +*** + + + +### userMention() + +> **userMention**(`opts`): `Context` + +Append a link to a Reddit User as a + +#### Parameters + +##### opts + +[`UserLinkOptions`](UserLinkOptions.md) + +[UserMentionOptions](UserMentionOptions.md) + +#### Returns + +`Context` + +#### Mention diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RedditPermalinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditPermalinkOptions.md new file mode 100644 index 00000000..f8eb4857 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditPermalinkOptions.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RedditPermalinkOptions + +> **RedditPermalinkOptions** = `object` + +## Properties + + + +### permalink + +> **permalink**: `string` + +Permalink to a Reddit page + +#### Example + +```ts +{ permalink: "/r/aww/comments/z9m1yj/one_of_them_isnt_a_dog" } +``` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RedditVideo.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditVideo.md new file mode 100644 index 00000000..c559a16e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RedditVideo.md @@ -0,0 +1,109 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RedditVideo + +> **RedditVideo** = `object` + +Contains the data for a video hosted on Reddit that is in a post + +## Properties + + + +### bitrateKbps? + +> `optional` **bitrateKbps**: `number` + +The bitrate of the video in kilobits per second. E.g. 450 + +*** + + + +### dashUrl? + +> `optional` **dashUrl**: `string` + +The URL to the DASH playlist file. E.g. "https://v.redd.it/abc123/DASHPlaylist.mpd" + +*** + + + +### duration? + +> `optional` **duration**: `number` + +The duration of the video in seconds. E.g. 30 + +*** + + + +### fallbackUrl? + +> `optional` **fallbackUrl**: `string` + +The direct URL to the video. E.g. "https://v.redd.it/abc123/DASH_1080.mp4?source=fallback" + +*** + + + +### height? + +> `optional` **height**: `number` + +The height of the video in pixels. E.g. 1080 + +*** + + + +### hlsUrl? + +> `optional` **hlsUrl**: `string` + +The URL to the HLS playlist file. E.g. "https://v.redd.it/abc123/HLSPlaylist.m3u8" + +*** + + + +### isGif? + +> `optional` **isGif**: `boolean` + +If `true`, the video is a GIF + +*** + + + +### scrubberMediaUrl? + +> `optional` **scrubberMediaUrl**: `string` + +The URL to the scrubber media file. E.g. "https://v.redd.it/abc123/DASH_96.mp4" + +*** + + + +### transcodingStatus? + +> `optional` **transcodingStatus**: `string` + +The status of the transcoding process. E.g. "completed" + +*** + + + +### width? + +> `optional` **width**: `number` + +The width of the video in pixels. E.g. 1920 diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RedisClient.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RedisClient.md new file mode 100644 index 00000000..5d22fc38 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RedisClient.md @@ -0,0 +1,229 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RedisClient + +> **RedisClient** = `Omit`\<`RedisClientBase`, `"global"` \| `"watch"`\> & `object` + +## Type declaration + +### global + +> **global**: `Omit`\<`RedisClient`, `"global"`\> + +### ~~hdel()~~ + +#### Parameters + +##### key + +`string` + +##### fields + +`string`[] + +#### Returns + +`Promise`\<`number`\> + +#### Deprecated + +Use RedisClient.hDel instead. + +### ~~hget()~~ + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Deprecated + +Use RedisClient.hGet instead. + +### ~~hgetall()~~ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`Record`\<`string`, `string`\>\> + +#### Deprecated + +Use RedisClient.hGetAll instead. + +### ~~hincrby()~~ + +#### Parameters + +##### key + +`string` + +##### field + +`string` + +##### value + +`number` + +#### Returns + +`Promise`\<`number`\> + +#### Deprecated + +Use RedisClient.hIncrBy instead. + +### ~~hkeys()~~ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`string`[]\> + +#### Deprecated + +Use RedisClient.hKeys instead. + +### ~~hlen()~~ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`number`\> + +#### Deprecated + +Use RedisClient.hLen instead. + +### ~~hscan()~~ + +#### Parameters + +##### key + +`string` + +##### cursor + +`number` + +##### pattern? + +`string` + +##### count? + +`number` + +#### Returns + +`Promise`\<`HScanResponse`\> + +#### Deprecated + +Use RedisClient.hScan instead. + +### ~~hset()~~ + +#### Parameters + +##### key + +`string` + +##### fieldValues + +#### Returns + +`Promise`\<`number`\> + +#### Deprecated + +Use RedisClient.hSet instead. + +### ~~mget()~~ + +#### Parameters + +##### keys + +`string`[] + +#### Returns + +`Promise`\<(`null` \| `string`)[]\> + +#### Deprecated + +Use RedisClient.mGet instead. + +### ~~mset()~~ + +#### Parameters + +##### keyValues + +#### Returns + +`Promise`\<`void`\> + +#### Deprecated + +Use RedisClient.mSet instead. + +### ~~strlen()~~ + +#### Parameters + +##### key + +`string` + +#### Returns + +`Promise`\<`number`\> + +#### Deprecated + +Use RedisClient.strLen instead. + +### watch() + +#### Parameters + +##### keys + +...`string`[] + +#### Returns + +`Promise`\<[`TxClientLike`](../interfaces/TxClientLike.md)\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RelationshipType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RelationshipType.md new file mode 100644 index 00000000..1801fa95 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RelationshipType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RelationshipType + +> **RelationshipType** = `"moderator_invite"` \| `"contributor"` \| `"banned"` \| `"muted"` \| `"wikibanned"` \| `"wikicontributor"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RemovalReason.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RemovalReason.md new file mode 100644 index 00000000..d83695fc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RemovalReason.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RemovalReason + +> **RemovalReason** = `object` + +Plain data for a subreddit removal reason. Use [Subreddit.updateRemovalReason](../classes/Subreddit.md#updateremovalreason), +[Subreddit.deleteRemovalReason](../classes/Subreddit.md#deleteremovalreason), or the matching [RedditClient](../classes/RedditClient.md) methods to change or +remove it. + +## Properties + + + +### id + +> **id**: `string` + +The ID of the removal reason. + +*** + + + +### message + +> **message**: `string` + +The message associated with the removal reason. + +*** + + + +### title + +> **title**: `string` + +The title of the removal reason. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RemoveRelationshipOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RemoveRelationshipOptions.md new file mode 100644 index 00000000..c8ae6de8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RemoveRelationshipOptions.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RemoveRelationshipOptions + +> **RemoveRelationshipOptions** = `object` + +## Properties + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### type + +> **type**: [`RelationshipType`](RelationshipType.md) \| `"moderator"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ReplyToCommentOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ReplyToCommentOptions.md new file mode 100644 index 00000000..b0913124 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ReplyToCommentOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ReplyToCommentOptions + +> **ReplyToCommentOptions** = [`CommentSubmissionOptions`](CommentSubmissionOptions.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RichTextContent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RichTextContent.md new file mode 100644 index 00000000..3dfa3036 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RichTextContent.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RichTextContent + +> **RichTextContent** = `object` + +## Properties + + + +### document + +> **document**: [`Document`](Document.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/RunJob.md b/versioned_docs/version-0.14/api/public-api/type-aliases/RunJob.md new file mode 100644 index 00000000..2029f53a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/RunJob.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: RunJob()\ + +> **RunJob**\<`Data`\> = (`job`) => `Promise`\<`string`\> + +Schedule a new job to run at a specific time or on a cron schedule + +## Type Parameters + +### Data + +`Data` *extends* [`JSONObject`](JSONObject.md) \| `undefined` + +## Parameters + +### job + +The job to schedule + +[`ScheduledJobOptions`](ScheduledJobOptions.md)\<`Data`\> | [`ScheduledCronJobOptions`](ScheduledCronJobOptions.md)\<`Data`\> + +## Returns + +`Promise`\<`string`\> + +The id of the scheduled job diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledCronJob.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledCronJob.md new file mode 100644 index 00000000..4658d2ab --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledCronJob.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledCronJob + +> **ScheduledCronJob** = `object` + +## Properties + + + +### cron + +> **cron**: `string` + +The cron string of when this job should run + +*** + + + +### data? + +> `optional` **data**: [`JSONObject`](JSONObject.md) + +Additional data passed in by the scheduler client + +*** + + + +### id + +> **id**: `string` + +ID of the scheduled job. Use this with scheduler.cancelJob to cancel the job. + +*** + + + +### name + +> **name**: `string` + +The name of the scheduled job type diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledCronJobOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledCronJobOptions.md new file mode 100644 index 00000000..43adfdb0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledCronJobOptions.md @@ -0,0 +1,43 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledCronJobOptions\ + +> **ScheduledCronJobOptions**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` *extends* [`JSONObject`](JSONObject.md) \| `undefined` = [`JSONObject`](JSONObject.md) \| `undefined` + +## Properties + + + +### cron + +> **cron**: `string` + +The cron string of when this job should run + +*** + + + +### data? + +> `optional` **data**: `T` + +Additional data passed in by the scheduler client + +*** + + + +### name + +> **name**: `string` + +The name of the scheduled job type diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJob.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJob.md new file mode 100644 index 00000000..acc6cfb9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJob.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledJob + +> **ScheduledJob** = `object` + +## Properties + + + +### data + +> **data**: [`JSONObject`](JSONObject.md) \| `undefined` + +Additional data passed in by the scheduler client + +*** + + + +### id + +> **id**: `string` + +ID of the scheduled job. Use this with scheduler.cancelJob to cancel the job. + +*** + + + +### name + +> **name**: `string` + +The name of the scheduled job type + +*** + + + +### runAt + +> **runAt**: `Date` + +The Date of when this job should run diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobEvent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobEvent.md new file mode 100644 index 00000000..906f036a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobEvent.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledJobEvent\ + +> **ScheduledJobEvent**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` *extends* [`JSONObject`](JSONObject.md) \| `undefined` + +## Properties + + + +### data + +> **data**: `T` + +Additional data passed in by the scheduler client + +*** + + + +### name + +> **name**: `string` + +The name of the scheduled job diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobHandler.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobHandler.md new file mode 100644 index 00000000..89434d62 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobHandler.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledJobHandler()\ + +> **ScheduledJobHandler**\<`Data`\> = (`event`, `context`) => `void` \| `Promise`\<`void`\> + +## Type Parameters + +### Data + +`Data` *extends* [`JSONObject`](JSONObject.md) \| `undefined` = [`JSONObject`](JSONObject.md) \| `undefined` + +## Parameters + +### event + +[`ScheduledJobEvent`](ScheduledJobEvent.md)\<`Data`\> + +### context + +[`JobContext`](JobContext.md) + +## Returns + +`void` \| `Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobOptions.md new file mode 100644 index 00000000..79babf51 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobOptions.md @@ -0,0 +1,43 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledJobOptions\ + +> **ScheduledJobOptions**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` *extends* [`JSONObject`](JSONObject.md) \| `undefined` = [`JSONObject`](JSONObject.md) \| `undefined` + +## Properties + + + +### data? + +> `optional` **data**: `T` + +Additional data passed in by the scheduler client + +*** + + + +### name + +> **name**: `string` + +The name of the scheduled job type + +*** + + + +### runAt + +> **runAt**: `Date` + +The Date of when this job should run diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobType.md new file mode 100644 index 00000000..21c38283 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ScheduledJobType.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ScheduledJobType\ + +> **ScheduledJobType**\<`Data`\> = `object` + +## Type Parameters + +### Data + +`Data` *extends* [`JSONObject`](JSONObject.md) \| `undefined` + +## Properties + + + +### name + +> **name**: `string` + +The name of the scheduled job type + +*** + + + +### onRun + +> **onRun**: [`ScheduledJobHandler`](ScheduledJobHandler.md)\<`Data`\> + +The function that will be called when the job is scheduled to run diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Scheduler.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Scheduler.md new file mode 100644 index 00000000..a89dbfe5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Scheduler.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Scheduler + +> **Scheduler** = `SchedulerClient` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SecureMedia.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SecureMedia.md new file mode 100644 index 00000000..38bf4d3b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SecureMedia.md @@ -0,0 +1,33 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SecureMedia + +> **SecureMedia** = `object` + +## Properties + + + +### oembed? + +> `optional` **oembed**: [`Oembed`](Oembed.md) + +*** + + + +### redditVideo? + +> `optional` **redditVideo**: [`RedditVideo`](RedditVideo.md) + +*** + + + +### type? + +> `optional` **type**: `string` + +The type of the oEmbed media, if present (e.g. "youtube.com") diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SelectField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SelectField.md new file mode 100644 index 00000000..c1132759 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SelectField.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SelectField + +> **SelectField** = `Prettify`\<[`BaseField`](BaseField.md)\<`string`[]\> & `Omit`\<`FieldConfig_Selection`, `"choices"` \| `"renderAsList"` \| `"minSelections"` \| `"maxSelections"`\> & `object`\> + +A dropdown field that allows users to pick from a list of options diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SendPrivateMessageAsSubredditOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SendPrivateMessageAsSubredditOptions.md new file mode 100644 index 00000000..039b3a32 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SendPrivateMessageAsSubredditOptions.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SendPrivateMessageAsSubredditOptions + +> **SendPrivateMessageAsSubredditOptions** = [`SendPrivateMessageOptions`](SendPrivateMessageOptions.md) & `object` + +## Type declaration + +### fromSubredditName + +> **fromSubredditName**: `string` + +The name of the subreddit the message is being sent from (without the leading r/) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SendPrivateMessageOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SendPrivateMessageOptions.md new file mode 100644 index 00000000..696fa397 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SendPrivateMessageOptions.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SendPrivateMessageOptions + +> **SendPrivateMessageOptions** = `object` + +## Properties + + + +### subject + +> **subject**: `string` + +The subject of the message. + +*** + + + +### text + +> **text**: `string` + +The body of the message in Markdown text format. + +*** + + + +### to + +> **to**: `string` + +Recipient username (without the leading u/), or /r/name for that subreddit's moderators. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SetFlairOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SetFlairOptions.md new file mode 100644 index 00000000..9b5493db --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SetFlairOptions.md @@ -0,0 +1,67 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SetFlairOptions + +> **SetFlairOptions** = `object` + +## Properties + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +The flair background color. Either 'transparent' or a hex color code. e.g. #FFC0CB + +*** + + + +### cssClass? + +> `optional` **cssClass**: `string` + +The flair CSS class + +*** + + + +### flairTemplateId? + +> `optional` **flairTemplateId**: `string` + +The flair template's ID + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit of the item to set the flair on + +*** + + + +### text? + +> `optional` **text**: `string` + +The flair text + +*** + + + +### textColor? + +> `optional` **textColor**: [`FlairTextColor`](FlairTextColor.md) + +The flair text color. Either 'dark' or 'light'. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SetOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SetOptions.md new file mode 100644 index 00000000..1e7af4ee --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SetOptions.md @@ -0,0 +1,35 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SetOptions + +> **SetOptions** = `object` + +## Properties + + + +### expiration? + +> `optional` **expiration**: `Date` + +*** + + + +### nx? + +> `optional` **nx**: `boolean` + +Only set the key if it does not already exist. + +*** + + + +### xx? + +> `optional` **xx**: `boolean` + +Only set the key if it already exists. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SetPostFlairOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SetPostFlairOptions.md new file mode 100644 index 00000000..99450bf0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SetPostFlairOptions.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SetPostFlairOptions + +> **SetPostFlairOptions** = [`SetFlairOptions`](SetFlairOptions.md) & `object` + +## Type declaration + +### postId + +> **postId**: `T3` + +The ID of the post to set the flair on diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SetUserFlairBatchConfig.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SetUserFlairBatchConfig.md new file mode 100644 index 00000000..942ae0b5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SetUserFlairBatchConfig.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SetUserFlairBatchConfig + +> **SetUserFlairBatchConfig** = `object` + +## Properties + + + +### cssClass? + +> `optional` **cssClass**: `string` + +The flair CSS class + +*** + + + +### text? + +> `optional` **text**: `string` + +The flair text. Can't contain the comma character (",") + +*** + + + +### username + +> **username**: `string` + +The username of the user to edit the flair on diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SetUserFlairOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SetUserFlairOptions.md new file mode 100644 index 00000000..a20a5779 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SetUserFlairOptions.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SetUserFlairOptions + +> **SetUserFlairOptions** = [`SetFlairOptions`](SetFlairOptions.md) & `object` + +## Type declaration + +### username + +> **username**: `string` + +The username of the user to set the flair on diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SettingScopeType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingScopeType.md new file mode 100644 index 00000000..86f0d95a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingScopeType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SettingScopeType + +> **SettingScopeType** = `"installation"` \| `"app"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormField.md new file mode 100644 index 00000000..78f7b624 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SettingsFormField + +> **SettingsFormField** = [`ValidatedStringField`](ValidatedStringField.md) \| [`ValidatedParagraphField`](ValidatedParagraphField.md) \| [`ValidatedNumberField`](ValidatedNumberField.md) \| [`ValidatedBooleanField`](ValidatedBooleanField.md) \| [`ValidatedSelectField`](ValidatedSelectField.md) \| [`SettingsFormFieldGroup`](SettingsFormFieldGroup.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormFieldGroup.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormFieldGroup.md new file mode 100644 index 00000000..8da61bce --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormFieldGroup.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SettingsFormFieldGroup + +> **SettingsFormFieldGroup** = `Prettify`\<`Omit`\<[`FormFieldGroup`](FormFieldGroup.md), `"fields"`\> & `object`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormFieldValidatorEvent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormFieldValidatorEvent.md new file mode 100644 index 00000000..025d1169 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsFormFieldValidatorEvent.md @@ -0,0 +1,29 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SettingsFormFieldValidatorEvent\ + +> **SettingsFormFieldValidatorEvent**\<`ValueType`\> = `object` + +## Type Parameters + +### ValueType + +`ValueType` + +## Properties + + + +### isEditing + +> **isEditing**: `boolean` + +*** + + + +### value + +> **value**: `ValueType` \| `undefined` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsValues.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsValues.md new file mode 100644 index 00000000..06a9d4f5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SettingsValues.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SettingsValues + +> **SettingsValues** = `object` + +## Index Signature + +\[`key`: `string`\]: `undefined` \| `string` \| `number` \| `boolean` \| `string`[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SpoilerContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SpoilerContainer.md new file mode 100644 index 00000000..709b3ea0 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SpoilerContainer.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SpoilerContainer\ + +> **SpoilerContainer**\<`Context`\> = `object` + +## Mixin + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### spoiler() + +> **spoiler**(`cb`): `Context` + +Append a Spoiler + +#### Parameters + +##### cb + +(`spoiler`) => `void` + +scoped callback to add child elements to this Spoiler + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SpoilerText.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SpoilerText.md new file mode 100644 index 00000000..85609717 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SpoilerText.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SpoilerText + +> **SpoilerText** = `object` + +## Properties + + + +### c + +> **c**: [`PlainText`](PlainText.md)[] + +*** + + + +### e + +> **e**: *typeof* [`SPOILER_TEXT_ELEMENT`](../variables/SPOILER_TEXT_ELEMENT.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/StringField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/StringField.md new file mode 100644 index 00000000..b4c66600 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/StringField.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: StringField + +> **StringField** = `Prettify`\<[`BaseField`](BaseField.md)\<`string`\> & `Omit`\<`FieldConfig_String`, `"minLength"` \| `"maxLength"`\> & `object`\> + +A text field diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitCustomPostOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitCustomPostOptions.md new file mode 100644 index 00000000..b67d869e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitCustomPostOptions.md @@ -0,0 +1,62 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubmitCustomPostOptions + +> **SubmitCustomPostOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `object` + +## Type declaration + +### entry? + +> `optional` **entry**: `string` + +The entrypoint name. Must correspond to a `post.entrypoints` key in the +app's `devvit.json`. + +#### Default + +The default `devvit.json` entrypoint (`'default'`). + +#### Example + +following `devvit.json` configuration: +```json +{ + "$schema": "https://developers.reddit.com/schema/config-file.v1.json", + "name": "example", + "post": { + "entrypoints": { + "default": {"entry": "splash.html"}, + "game": {"entry": "game.html"} + } + } +} +``` + +### postData? + +> `optional` **postData**: `PostData` + +Arbitrary data to associate to the post. Limited to two kilobytes. + +#### See + +PostData. + +### styles? + +> `optional` **styles**: `CustomPostStylesInput` + +Styles associated with the custom post, such as height or background color. + +### textFallback? + +> `optional` **textFallback**: [`CustomPostTextFallbackOptions`](CustomPostTextFallbackOptions.md) + +Content to show when rendered on `https://old.reddit.com`. + +### userGeneratedContent? + +> `optional` **userGeneratedContent**: `UserGeneratedContent` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitLinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitLinkOptions.md new file mode 100644 index 00000000..ebf8ce34 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitLinkOptions.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubmitLinkOptions + +> **SubmitLinkOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `object` + +## Type declaration + +### ~~resubmit?~~ + +> `optional` **resubmit**: `boolean` + +#### Deprecated + +Unsupported. This property is for backwards compatibility and +has no effect. It will removed in a future version. New code should not +use it. + +### url + +> **url**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitMediaOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitMediaOptions.md new file mode 100644 index 00000000..cc916ec3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitMediaOptions.md @@ -0,0 +1,21 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubmitMediaOptions + +> **SubmitMediaOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `object` + +## Type declaration + +### imageUrls? + +> `optional` **imageUrls**: \[`string`\] + +### kind + +> **kind**: `"image"` \| `"video"` \| `"videogif"` + +### videoPosterUrl? + +> `optional` **videoPosterUrl**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitPostOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitPostOptions.md new file mode 100644 index 00000000..ea80c701 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitPostOptions.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubmitPostOptions + +> **SubmitPostOptions** = [`SubmitLinkOptions`](SubmitLinkOptions.md) & `object` \| [`SubmitSelfPostOptions`](SubmitSelfPostOptions.md) & `object` \| [`SubmitMediaOptions`](SubmitMediaOptions.md) & `object` + +Link, self, or media post options exclusively. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitSelfPostOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitSelfPostOptions.md new file mode 100644 index 00000000..07ef61b8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubmitSelfPostOptions.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubmitSelfPostOptions + +> **SubmitSelfPostOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & [`PostTextOptions`](PostTextOptions.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditData.md new file mode 100644 index 00000000..b2a187fc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditData.md @@ -0,0 +1,79 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditData + +> **SubredditData** = `object` + +## Properties + + + +### communityIcon? + +> `optional` **communityIcon**: `string` + +*** + + + +### displayName? + +> `optional` **displayName**: `string` + +*** + + + +### icon? + +> `optional` **icon**: `string` + +*** + + + +### id? + +> `optional` **id**: `T5` + +*** + + + +### keyColor? + +> `optional` **keyColor**: `string` + +*** + + + +### lastUpdated? + +> `optional` **lastUpdated**: `string` + +*** + + + +### name? + +> `optional` **name**: `string` + +*** + + + +### primaryColor? + +> `optional` **primaryColor**: `string` + +*** + + + +### subscribers? + +> `optional` **subscribers**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditInfo.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditInfo.md new file mode 100644 index 00000000..a100d954 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditInfo.md @@ -0,0 +1,241 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditInfo + +> **SubredditInfo** = `object` + +A class representing information about a Subreddit. + +## Properties + + + +### activeCount? + +> `optional` **activeCount**: `number` + +*** + + + +### allAllowedPostTypes? + +> `optional` **allAllowedPostTypes**: [`PostType`](PostType.md)[] + +*** + + + +### allowedMediaInComments? + +> `optional` **allowedMediaInComments**: [`CommentMediaTypes`](CommentMediaTypes.md)[] + +*** + + + +### allowedPostCapabilities? + +> `optional` **allowedPostCapabilities**: [`PostCapabilities`](PostCapabilities.md)[] + +*** + + + +### authorFlairSettings? + +> `optional` **authorFlairSettings**: [`AuthorFlairSettings`](../classes/AuthorFlairSettings.md) + +*** + + + +### createdAt? + +> `optional` **createdAt**: `Date` + +*** + + + +### description? + +> `optional` **description**: [`SubredditDescription`](../classes/SubredditDescription.md) + +*** + + + +### detectedLanguage? + +> `optional` **detectedLanguage**: `string` + +*** + + + +### id? + +> `optional` **id**: `T5` + +*** + + + +### isArchivePostsEnabled? + +> `optional` **isArchivePostsEnabled**: `boolean` + +*** + + + +### isChatPostCreationAllowed? + +> `optional` **isChatPostCreationAllowed**: `boolean` + +*** + + + +### isChatPostFeatureEnabled? + +> `optional` **isChatPostFeatureEnabled**: `boolean` + +*** + + + +### isCommentingRestricted? + +> `optional` **isCommentingRestricted**: `boolean` + +*** + + + +### isCrosspostingAllowed? + +> `optional` **isCrosspostingAllowed**: `boolean` + +*** + + + +### isDiscoveryAllowed? + +> `optional` **isDiscoveryAllowed**: `boolean` + +*** + + + +### isEmojisEnabled? + +> `optional` **isEmojisEnabled**: `boolean` + +*** + + + +### isNsfw? + +> `optional` **isNsfw**: `boolean` + +*** + + + +### isPostingRestricted? + +> `optional` **isPostingRestricted**: `boolean` + +*** + + + +### isPredictionAllowed? + +> `optional` **isPredictionAllowed**: `boolean` + +*** + + + +### isPredictionContributorsAllowed? + +> `optional` **isPredictionContributorsAllowed**: `boolean` + +*** + + + +### isPredictionsTournamentAllowed? + +> `optional` **isPredictionsTournamentAllowed**: `boolean` + +*** + + + +### isQuarantined? + +> `optional` **isQuarantined**: `boolean` + +*** + + + +### isSpoilerAvailable? + +> `optional` **isSpoilerAvailable**: `boolean` + +*** + + + +### name? + +> `optional` **name**: `string` + +*** + + + +### postFlairSettings? + +> `optional` **postFlairSettings**: [`PostFlairSettings`](../classes/PostFlairSettings.md) + +*** + + + +### subscribersCount? + +> `optional` **subscribersCount**: `number` + +*** + + + +### title? + +> `optional` **title**: `string` + +*** + + + +### type? + +> `optional` **type**: [`SubredditType`](SubredditType.md) + +*** + + + +### wikiSettings? + +> `optional` **wikiSettings**: [`SubredditWikiSettings`](../classes/SubredditWikiSettings.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboard.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboard.md new file mode 100644 index 00000000..fc98f382 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboard.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditLeaderboard + +> **SubredditLeaderboard** = `object` + +An individual Leaderboard object. + +## Properties + + + +### id + +> **id**: `string` + +*** + + + +### summary + +> **summary**: [`SubredditLeaderboardSummary`](SubredditLeaderboardSummary.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboardSummary.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboardSummary.md new file mode 100644 index 00000000..0b77277e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboardSummary.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditLeaderboardSummary + +> **SubredditLeaderboardSummary** = `object` + +## Properties + + + +### data + +> **data**: [`SubredditLeaderboardSummaryRow`](SubredditLeaderboardSummaryRow.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboardSummaryRow.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboardSummaryRow.md new file mode 100644 index 00000000..99adc0cd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLeaderboardSummaryRow.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditLeaderboardSummaryRow + +> **SubredditLeaderboardSummaryRow** = `object` + +## Properties + + + +### key + +> **key**: `string` + +*** + + + +### title + +> **title**: `string` + +*** + + + +### value + +> **value**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLink.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLink.md new file mode 100644 index 00000000..2e1699c3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLink.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditLink + +> **SubredditLink** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`SUBREDDIT_LINK_ELEMENT`](../variables/SUBREDDIT_LINK_ELEMENT.md) + +*** + + + +### l + +> **l**: `boolean` + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLinkOptions.md new file mode 100644 index 00000000..7e7b8883 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditLinkOptions.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditLinkOptions + +> **SubredditLinkOptions** = [`PrefixedRedditLinkOptions`](PrefixedRedditLinkOptions.md) & `object` + +## Type declaration + +### subredditName + +> **subredditName**: `string` + +Subreddit name without the "r/" prefix + +#### Example + +```ts +{ subredditName: "aww", showPrefix: true } +``` + +## Borrows + +PrefixedRedditLinkOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditOptions.md new file mode 100644 index 00000000..ea6c95d1 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditOptions.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditOptions + +> **SubredditOptions** = `object` + +## Properties + + + +### subredditName? + +> `optional` **subredditName**: `string` + +Defaults to the current subreddit name. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditSettings.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditSettings.md new file mode 100644 index 00000000..2b237c2e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditSettings.md @@ -0,0 +1,387 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditSettings + +> **SubredditSettings** = `object` + +## Properties + + + +### acceptFollowers + +> **acceptFollowers**: `boolean` + +Whether the subreddit accepts followers or not. + +*** + + + +### allOriginalContent + +> **allOriginalContent**: `boolean` + +Whether all content posted on the subreddit is original. + +*** + + + +### allowChatPostCreation + +> **allowChatPostCreation**: `boolean` + +Whether users are allowed to create chat posts on the subreddit. + +*** + + + +### allowDiscovery + +> **allowDiscovery**: `boolean` + +Whether the subreddit can be discovered through search. + +*** + + + +### allowedMediaInComments + +> **allowedMediaInComments**: [`CommentMediaTypes`](CommentMediaTypes.md)[] + +List of allowed media types in the comments made in the subreddit. + +*** + + + +### allowedPostType + +> **allowedPostType**: `"any"` \| `"link"` \| `"self"` \| `"other"` + +The types of post allowed in this subreddit. Either "any", "link", "self", or "other". + +*** + + + +### allowGalleries + +> **allowGalleries**: `boolean` + +Whether the subreddit allows galleries. + +*** + + + +### allowImages + +> **allowImages**: `boolean` + +Whether the subreddit allows images. + +*** + + + +### allowPolls + +> **allowPolls**: `boolean` + +Whether the subreddit allows polls. + +*** + + + +### allowPredictionContributors + +> **allowPredictionContributors**: `boolean` + +Whether contributors are allowed to make predictions on the subreddit. + +*** + + + +### allowPredictions + +> **allowPredictions**: `boolean` + +Whether predictions are allowed on the subreddit. + +*** + + + +### allowPredictionsTournament + +> **allowPredictionsTournament**: `boolean` + +Whether prediction tournaments are allowed on the subreddit. + +*** + + + +### allowTalks + +> **allowTalks**: `boolean` + +Whether talks are allowed on the subreddit. + +*** + + + +### allowVideoGifs + +> **allowVideoGifs**: `boolean` + +Whether video GIFs are allowed on the subreddit. + +*** + + + +### allowVideos + +> **allowVideos**: `boolean` + +Whether videos are allowed on the subreddit. + +*** + + + +### bannerBackgroundColor? + +> `optional` **bannerBackgroundColor**: `string` + +a 6-digit rgb hex color of the banner e.g. `#AABBCC`, + +*** + + + +### bannerBackgroundImage? + +> `optional` **bannerBackgroundImage**: `string` + +The background image of the banner. + +*** + + + +### bannerImage? + +> `optional` **bannerImage**: `string` + +The URL of the banner image. + +*** + + + +### chatPostEnabled + +> **chatPostEnabled**: `boolean` + +Whether chat posts are enabled on the subreddit. + +*** + + + +### collectionsEnabled + +> **collectionsEnabled**: `boolean` + +Whether collections are enabled on the subreddit. + +*** + + + +### communityIcon? + +> `optional` **communityIcon**: `string` + +The URL of the community icon. + +*** + + + +### crosspostable + +> **crosspostable**: `boolean` + +Whether crossposts can be made to this subreddit. + +*** + + + +### emojisEnabled + +> **emojisEnabled**: `boolean` + +Whether emojis are enabled on the subreddit. + +*** + + + +### eventPostsEnabled + +> **eventPostsEnabled**: `boolean` + +Whether event posts are enabled on the subreddit. + +*** + + + +### headerTitle? + +> `optional` **headerTitle**: `string` + +The header title. + +*** + + + +### keyColor? + +> `optional` **keyColor**: `string` + +The 6-digit rgb hex color of the subreddit's key color, e.g. `#AABBCC`, + +*** + + + +### linkFlairEnabled + +> **linkFlairEnabled**: `boolean` + +Whether link flairs are enabled on the subreddit. + +*** + + + +### mobileBannerImage? + +> `optional` **mobileBannerImage**: `string` + +Banner image used on mobile apps. + +*** + + + +### originalContentTagEnabled + +> **originalContentTagEnabled**: `boolean` + +Whether the Original Content tag is enabled. + +*** + + + +### postFlairs + +> **postFlairs**: [`FlairSettings`](FlairSettings.md) + +The post flair settings for the subreddit. + +*** + + + +### primaryColor? + +> `optional` **primaryColor**: `string` + +The 6-digit rgb hex color of the subreddit's primary color, e.g. `#AABBCC`, + +*** + + + +### restrictCommenting + +> **restrictCommenting**: `boolean` + +Whether commenting is restricted in the subreddit. + +*** + + + +### restrictPosting + +> **restrictPosting**: `boolean` + +Whether posting is restricted in the subreddit. + +*** + + + +### shouldArchivePosts + +> **shouldArchivePosts**: `boolean` + +Whether posts in the subreddit should be automatically archived after 6 months. + +*** + + + +### spoilersEnabled + +> **spoilersEnabled**: `boolean` + +Whether the Spoiler tag is enabled. + +*** + + + +### url + +> **url**: `string` + +HTTP URL to the subreddit + +*** + + + +### userFlairs + +> **userFlairs**: [`FlairSettings`](FlairSettings.md) + +The user flair settings for the subreddit. + +*** + + + +### wikiEnabled + +> **wikiEnabled**: `boolean` + +Whether the wiki is enabled for the subreddit. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditSettingsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditSettingsOptions.md new file mode 100644 index 00000000..0aab7318 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditSettingsOptions.md @@ -0,0 +1,30 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditSettingsOptions + +> **SubredditSettingsOptions** = `Partial`\<[`SubredditSettings`](SubredditSettings.md)\> & `object` + +Optional overrides for subreddit settings. Only provided fields are applied; +the rest remain unchanged when calling [Subreddit.updateSettings](../classes/Subreddit.md#updatesettings). + +## Type declaration + +### description? + +> `optional` **description**: `string` + +Subreddit description (raw markdown). Appears in the sidebar of the subreddit. + +### title? + +> `optional` **title**: `string` + +Subreddit title. + +### type? + +> `optional` **type**: [`SubredditType`](SubredditType.md) + +Subreddit type (e.g. public, private, restricted). diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditStyles.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditStyles.md new file mode 100644 index 00000000..1d696619 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditStyles.md @@ -0,0 +1,377 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditStyles + +> **SubredditStyles** = `object` + +A class representing the styles of a Subreddit. + +## Properties + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +*** + + + +### backgroundImage? + +> `optional` **backgroundImage**: `string` + +*** + + + +### backgroundImagePosition? + +> `optional` **backgroundImagePosition**: [`BackgroundImagePosition`](BackgroundImagePosition.md) + +*** + + + +### bannerBackgroundColor? + +> `optional` **bannerBackgroundColor**: `string` + +*** + + + +### bannerBackgroundImage? + +> `optional` **bannerBackgroundImage**: `string` + +*** + + + +### bannerBackgroundImagePosition? + +> `optional` **bannerBackgroundImagePosition**: [`ImagePosition`](ImagePosition.md) + +*** + + + +### bannerCommunityName? + +> `optional` **bannerCommunityName**: `string` + +*** + + + +### bannerCommunityNameFormat? + +> `optional` **bannerCommunityNameFormat**: [`CommunityNameFormat`](CommunityNameFormat.md) + +*** + + + +### bannerHeight? + +> `optional` **bannerHeight**: [`BannerHeight`](BannerHeight.md) + +*** + + + +### bannerOverlayColor? + +> `optional` **bannerOverlayColor**: `string` + +*** + + + +### bannerPositionedImage? + +> `optional` **bannerPositionedImage**: `string` + +*** + + + +### bannerPositionedImagePosition? + +> `optional` **bannerPositionedImagePosition**: [`PositionedImagePosition`](PositionedImagePosition.md) + +*** + + + +### bannerShowCommunityIcon? + +> `optional` **bannerShowCommunityIcon**: [`Visibility`](Visibility.md) + +*** + + + +### highlightColor? + +> `optional` **highlightColor**: `string` + +*** + + + +### icon? + +> `optional` **icon**: `string` + +*** + + + +### legacyBannerBackgroundImage? + +> `optional` **legacyBannerBackgroundImage**: `string` + +*** + + + +### legacyPrimaryColor? + +> `optional` **legacyPrimaryColor**: `string` + +*** + + + +### menuBackgroundBlur? + +> `optional` **menuBackgroundBlur**: `number` + +*** + + + +### menuBackgroundColor? + +> `optional` **menuBackgroundColor**: `string` + +*** + + + +### menuBackgroundImage? + +> `optional` **menuBackgroundImage**: `string` + +*** + + + +### menuBackgroundOpacity? + +> `optional` **menuBackgroundOpacity**: `number` + +*** + + + +### menuLinkColorActive? + +> `optional` **menuLinkColorActive**: `string` + +*** + + + +### menuLinkColorHover? + +> `optional` **menuLinkColorHover**: `string` + +*** + + + +### menuLinkColorInactive? + +> `optional` **menuLinkColorInactive**: `string` + +*** + + + +### menuPosition? + +> `optional` **menuPosition**: [`MenuPosition`](MenuPosition.md) + +*** + + + +### mobileBannerImage? + +> `optional` **mobileBannerImage**: `string` + +*** + + + +### mobileKeyColor? + +> `optional` **mobileKeyColor**: `string` + +*** + + + +### postBackgroundColor? + +> `optional` **postBackgroundColor**: `string` + +*** + + + +### postBackgroundImage? + +> `optional` **postBackgroundImage**: `string` + +*** + + + +### postBackgroundImagePosition? + +> `optional` **postBackgroundImagePosition**: [`ImagePosition`](ImagePosition.md) + +*** + + + +### postDownvoteCountColor? + +> `optional` **postDownvoteCountColor**: `string` + +*** + + + +### postDownvoteIconActive? + +> `optional` **postDownvoteIconActive**: `string` + +*** + + + +### postDownvoteIconInactive? + +> `optional` **postDownvoteIconInactive**: `string` + +*** + + + +### postPlaceholderImage? + +> `optional` **postPlaceholderImage**: `string` + +*** + + + +### postPlaceholderImagePosition? + +> `optional` **postPlaceholderImagePosition**: [`ImagePosition`](ImagePosition.md) + +*** + + + +### postTitleColor? + +> `optional` **postTitleColor**: `string` + +*** + + + +### postUpvoteCountColor? + +> `optional` **postUpvoteCountColor**: `string` + +*** + + + +### postUpvoteIconActive? + +> `optional` **postUpvoteIconActive**: `string` + +*** + + + +### postUpvoteIconInactive? + +> `optional` **postUpvoteIconInactive**: `string` + +*** + + + +### postVoteIcons? + +> `optional` **postVoteIcons**: [`CustomizationFlag`](CustomizationFlag.md) + +*** + + + +### primaryColor? + +> `optional` **primaryColor**: `string` + +*** + + + +### secondaryBannerPositionedImage? + +> `optional` **secondaryBannerPositionedImage**: `string` + +*** + + + +### sidebarWidgetBackgroundColor? + +> `optional` **sidebarWidgetBackgroundColor**: `string` + +*** + + + +### sidebarWidgetHeaderColor? + +> `optional` **sidebarWidgetHeaderColor**: `string` + +*** + + + +### submenuBackgroundColor? + +> `optional` **submenuBackgroundColor**: `string` + +*** + + + +### submenuBackgroundStyle? + +> `optional` **submenuBackgroundStyle**: [`CustomizationFlag`](CustomizationFlag.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditType.md new file mode 100644 index 00000000..e0b9588e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/SubredditType.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: SubredditType + +> **SubredditType** = `"public"` \| `"private"` \| `"restricted"` \| `"employees_only"` \| `"gold_only"` \| `"gold_restricted"` \| `"archived"` \| `"user"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Table.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Table.md new file mode 100644 index 00000000..e434a774 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Table.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Table + +> **Table** = `object` + +## Properties + + + +### c + +> **c**: [`TableRow`](TableRow.md)[] + +*** + + + +### e + +> **e**: *typeof* [`TABLE_ELEMENT`](../variables/TABLE_ELEMENT.md) + +*** + + + +### h + +> **h**: [`TableHeaderRow`](TableHeaderRow.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableCell.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableCell.md new file mode 100644 index 00000000..f71c74fd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableCell.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableCell + +> **TableCell** = `object` + +## Properties + + + +### c? + +> `optional` **c**: [`TableCellText`](TableCellText.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableCellContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableCellContainer.md new file mode 100644 index 00000000..47324e6b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableCellContainer.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableCellContainer\ + +> **TableCellContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`TableRowContext`](../interfaces/TableRowContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### cell() + +> **cell**(`cb`): `Context` + +Append a Cell to a Table Row + +#### Parameters + +##### cb + +(`cell`) => `void` + +scoped callback to add child elements to this Table Cell + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableCellText.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableCellText.md new file mode 100644 index 00000000..c152368f --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableCellText.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableCellText + +> **TableCellText** = [`Text`](Text.md) \| [`Link`](Link.md) \| [`RedditLink`](RedditLink.md) \| [`SpoilerText`](SpoilerText.md) \| [`Image`](Image.md) \| [`AnimatedImage`](AnimatedImage.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableContainer.md new file mode 100644 index 00000000..6658966b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableContainer.md @@ -0,0 +1,41 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableContainer\ + +> **TableContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ListItemContext`](../interfaces/ListItemContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### table() + +> **table**(`cb`): `Context` + +Append a Table + +#### Parameters + +##### cb + +(`table`) => `void` + +scoped callback to add child elements to this Table + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableContentContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableContentContainer.md new file mode 100644 index 00000000..a0698d54 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableContentContainer.md @@ -0,0 +1,69 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableContentContainer\ + +> **TableContentContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`TableContext`](../interfaces/TableContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### headerCell() + +> **headerCell**(`opts`, `cb`): `Context` + +Append a Table Cell to the Table Header + +#### Parameters + +##### opts + +[`TableHeaderCellOptions`](TableHeaderCellOptions.md) + +[TableHeaderCellOptions](TableHeaderCellOptions.md) + +##### cb + +(`cell`) => `void` + +scoped callback to add child elements to this Table Header Cell + +#### Returns + +`Context` + +*** + + + +### row() + +> **row**(`cb`): `Context` + +Append a Table Row to the Table + +#### Parameters + +##### cb + +(`row`) => `void` + +scoped callback to add child elements to this Table Row + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCell.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCell.md new file mode 100644 index 00000000..df22a7c1 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCell.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableHeaderCell + +> **TableHeaderCell** = `object` + +## Properties + + + +### a? + +> `optional` **a**: [`ColumnAlignment`](ColumnAlignment.md) + +*** + + + +### c? + +> `optional` **c**: [`TableCellText`](TableCellText.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCellContext.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCellContext.md new file mode 100644 index 00000000..2ac088fe --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCellContext.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableHeaderCellContext + +> **TableHeaderCellContext** = [`TableCellContext`](../interfaces/TableCellContext.md) + +## Borrows + +TableCellContext diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCellOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCellOptions.md new file mode 100644 index 00000000..6516f2c8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderCellOptions.md @@ -0,0 +1,17 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableHeaderCellOptions + +> **TableHeaderCellOptions** = `object` + +## Properties + + + +### columnAlignment? + +> `optional` **columnAlignment**: `"left"` \| `"right"` \| `"center"` + +Text alignment for the entire column diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderRow.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderRow.md new file mode 100644 index 00000000..ff2284f8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableHeaderRow.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableHeaderRow + +> **TableHeaderRow** = [`TableHeaderCell`](TableHeaderCell.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TableRow.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TableRow.md new file mode 100644 index 00000000..3d48e2ff --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TableRow.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TableRow + +> **TableRow** = [`TableCell`](TableCell.md)[] diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Text.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Text.md new file mode 100644 index 00000000..ef5016ed --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Text.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Text + +> **Text** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`TEXT_ELEMENT`](../variables/TEXT_ELEMENT.md) + +*** + + + +### f? + +> `optional` **f**: [`FormatRange`](FormatRange.md)[] + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TextContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TextContainer.md new file mode 100644 index 00000000..75b7ffa6 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TextContainer.md @@ -0,0 +1,43 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TextContainer\ + +> **TextContainer**\<`Context`\> = `object` + +## Mixin + +## Extended by + +- [`ParagraphContext`](../interfaces/ParagraphContext.md) +- [`SpoilerContext`](../interfaces/SpoilerContext.md) +- [`TableCellContext`](../interfaces/TableCellContext.md) + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### text() + +> **text**(`opts`): `Context` + +Append Text with optional formatting + +#### Parameters + +##### opts + +[`TextOptions`](TextOptions.md) + +[TextOptions](TextOptions.md) + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TextNode.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TextNode.md new file mode 100644 index 00000000..0a22f1c2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TextNode.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TextNode + +> **TextNode** = [`PlainText`](PlainText.md) \| [`SpoilerText`](SpoilerText.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TextOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TextOptions.md new file mode 100644 index 00000000..ebdcb346 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TextOptions.md @@ -0,0 +1,32 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TextOptions + +> **TextOptions** = [`RawTextOptions`](RawTextOptions.md) & `object` + +## Type declaration + +### formatting? + +> `optional` **formatting**: [`FormatRange`](FormatRange.md)[] + +A list of FormatRange specifications which defines text style for an +arbitrary substring within the text + +#### See + + - [FormatRange](FormatRange.md) + - makeFormatting + +#### Example + +```ts +// Make the exclamation mark italic: +{ text: 'Hello!', formatting: [makeFormatting({italic: true, startIndex: 5, length: 1})] } +``` + +## Borrows + +RawTextOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Toast.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Toast.md new file mode 100644 index 00000000..3e96043d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Toast.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Toast + +> **Toast** = `object` + +## Properties + + + +### appearance? + +> `optional` **appearance**: `"neutral"` \| `"success"` + +The appearance of the toast + +*** + + + +### text + +> **text**: `string` + +The message shown within the toast diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerContext.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerContext.md new file mode 100644 index 00000000..8cd98406 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerContext.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TriggerContext + +> **TriggerContext** = `Omit`\<[`Context`](../@devvit/namespaces/Devvit/type-aliases/Context.md), `"ui"` \| `"dimensions"` \| `"modLog"` \| `"uiEnvironment"`\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerDefinition.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerDefinition.md new file mode 100644 index 00000000..d181f740 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerDefinition.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TriggerDefinition + +> **TriggerDefinition** = [`PostSubmitDefinition`](PostSubmitDefinition.md) \| [`PostCreateDefinition`](PostCreateDefinition.md) \| [`PostUpdateDefinition`](PostUpdateDefinition.md) \| [`PostFlairUpdateDefinition`](PostFlairUpdateDefinition.md) \| [`PostReportDefinition`](PostReportDefinition.md) \| [`PostDeleteDefinition`](PostDeleteDefinition.md) \| [`CommentSubmitDefinition`](CommentSubmitDefinition.md) \| [`CommentCreateDefinition`](CommentCreateDefinition.md) \| [`CommentUpdateDefinition`](CommentUpdateDefinition.md) \| [`CommentReportDefinition`](CommentReportDefinition.md) \| [`CommentDeleteDefinition`](CommentDeleteDefinition.md) \| [`MentionInCommentCreateDefinition`](MentionInCommentCreateDefinition.md) \| [`AppInstallDefinition`](AppInstallDefinition.md) \| [`AppUpgradeDefinition`](AppUpgradeDefinition.md) \| [`ModActionDefinition`](ModActionDefinition.md) \| [`ModMailDefinition`](ModMailDefinition.md) \| [`PostSpoilerUpdateDefinition`](PostSpoilerUpdateDefinition.md) \| [`PostNsfwUpdateDefinition`](PostNsfwUpdateDefinition.md) \| [`OnAutomoderatorFilterPostDefinition`](OnAutomoderatorFilterPostDefinition.md) \| [`OnAutomoderatorFilterCommentDefinition`](OnAutomoderatorFilterCommentDefinition.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerEvent.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerEvent.md new file mode 100644 index 00000000..eba66ceb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerEvent.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TriggerEvent + +> **TriggerEvent** = [`PostSubmit`](PostSubmit.md) \| [`PostCreate`](PostCreate.md) \| [`PostUpdate`](PostUpdate.md) \| [`PostReport`](PostReport.md) \| [`PostDelete`](PostDelete.md) \| [`PostFlairUpdate`](PostFlairUpdate.md) \| [`CommentSubmit`](CommentSubmit.md) \| [`CommentCreate`](CommentCreate.md) \| [`CommentUpdate`](CommentUpdate.md) \| [`CommentReport`](CommentReport.md) \| [`CommentDelete`](CommentDelete.md) \| [`MentionInCommentCreate`](MentionInCommentCreate.md) \| [`AppInstall`](AppInstall.md) \| [`AppUpgrade`](AppUpgrade.md) \| [`ModActionTrigger`](ModActionTrigger.md) \| [`ModMailTrigger`](ModMailTrigger.md) \| [`PostNsfwUpdate`](PostNsfwUpdate.md) \| [`PostSpoilerUpdate`](PostSpoilerUpdate.md) \| [`AutomoderatorFilterPost`](AutomoderatorFilterPost.md) \| [`AutomoderatorFilterComment`](AutomoderatorFilterComment.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerEventType.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerEventType.md new file mode 100644 index 00000000..a2e40770 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerEventType.md @@ -0,0 +1,289 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TriggerEventType + +> **TriggerEventType** = `object` + +Maps a TriggerEvent to a Protobuf message and type. + +## Properties + + + +### AppInstall + +> **AppInstall**: `object` & [`AppInstall`](../@devvit/namespaces/EventTypes/interfaces/AppInstall.md) + +#### Type declaration + +##### type + +> **type**: `"AppInstall"` + +*** + + + +### AppUpgrade + +> **AppUpgrade**: `object` & [`AppUpgrade`](../@devvit/namespaces/EventTypes/interfaces/AppUpgrade.md) + +#### Type declaration + +##### type + +> **type**: `"AppUpgrade"` + +*** + + + +### AutomoderatorFilterComment + +> **AutomoderatorFilterComment**: `object` & [`AutomoderatorFilterComment`](../@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterComment.md) + +#### Type declaration + +##### type + +> **type**: `"AutomoderatorFilterComment"` + +*** + + + +### AutomoderatorFilterPost + +> **AutomoderatorFilterPost**: `object` & [`AutomoderatorFilterPost`](../@devvit/namespaces/EventTypes/interfaces/AutomoderatorFilterPost.md) + +#### Type declaration + +##### type + +> **type**: `"AutomoderatorFilterPost"` + +*** + + + +### CommentCreate + +> **CommentCreate**: `object` & [`CommentCreate`](../@devvit/namespaces/EventTypes/interfaces/CommentCreate.md) + +#### Type declaration + +##### type + +> **type**: `"CommentCreate"` + +*** + + + +### CommentDelete + +> **CommentDelete**: `object` & [`CommentDelete`](../@devvit/namespaces/EventTypes/interfaces/CommentDelete.md) + +#### Type declaration + +##### type + +> **type**: `"CommentDelete"` + +*** + + + +### CommentReport + +> **CommentReport**: `object` & [`CommentReport`](../@devvit/namespaces/EventTypes/interfaces/CommentReport.md) + +#### Type declaration + +##### type + +> **type**: `"CommentReport"` + +*** + + + +### CommentSubmit + +> **CommentSubmit**: `object` & [`CommentSubmit`](../@devvit/namespaces/EventTypes/interfaces/CommentSubmit.md) + +#### Type declaration + +##### type + +> **type**: `"CommentSubmit"` + +*** + + + +### CommentUpdate + +> **CommentUpdate**: `object` & [`CommentUpdate`](../@devvit/namespaces/EventTypes/interfaces/CommentUpdate.md) + +#### Type declaration + +##### type + +> **type**: `"CommentUpdate"` + +*** + + + +### MentionInCommentCreate + +> **MentionInCommentCreate**: `object` & [`MentionInCommentCreate`](../@devvit/namespaces/EventTypes/interfaces/MentionInCommentCreate.md) + +#### Type declaration + +##### type + +> **type**: `"MentionInCommentCreate"` + +*** + + + +### ModAction + +> **ModAction**: `object` & `ModAction` + +#### Type declaration + +##### type + +> **type**: `"ModAction"` + +*** + + + +### ModMail + +> **ModMail**: `object` & `ModMail` + +#### Type declaration + +##### type + +> **type**: `"ModMail"` + +*** + + + +### PostCreate + +> **PostCreate**: `object` & [`PostCreate`](../@devvit/namespaces/EventTypes/interfaces/PostCreate.md) + +#### Type declaration + +##### type + +> **type**: `"PostCreate"` + +*** + + + +### PostDelete + +> **PostDelete**: `object` & [`PostDelete`](../@devvit/namespaces/EventTypes/interfaces/PostDelete.md) + +#### Type declaration + +##### type + +> **type**: `"PostDelete"` + +*** + + + +### PostFlairUpdate + +> **PostFlairUpdate**: `object` & [`PostFlairUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostFlairUpdate.md) + +#### Type declaration + +##### type + +> **type**: `"PostFlairUpdate"` + +*** + + + +### PostNsfwUpdate + +> **PostNsfwUpdate**: `object` & [`PostNsfwUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostNsfwUpdate.md) + +#### Type declaration + +##### type + +> **type**: `"PostNsfwUpdate"` + +*** + + + +### PostReport + +> **PostReport**: `object` & [`PostReport`](../@devvit/namespaces/EventTypes/interfaces/PostReport.md) + +#### Type declaration + +##### type + +> **type**: `"PostReport"` + +*** + + + +### PostSpoilerUpdate + +> **PostSpoilerUpdate**: `object` & [`PostSpoilerUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostSpoilerUpdate.md) + +#### Type declaration + +##### type + +> **type**: `"PostSpoilerUpdate"` + +*** + + + +### PostSubmit + +> **PostSubmit**: `object` & [`PostSubmit`](../@devvit/namespaces/EventTypes/interfaces/PostSubmit.md) + +#### Type declaration + +##### type + +> **type**: `"PostSubmit"` + +*** + + + +### PostUpdate + +> **PostUpdate**: `object` & [`PostUpdate`](../@devvit/namespaces/EventTypes/interfaces/PostUpdate.md) + +#### Type declaration + +##### type + +> **type**: `"PostUpdate"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerOnEventHandler.md b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerOnEventHandler.md new file mode 100644 index 00000000..1819d1fd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/TriggerOnEventHandler.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: TriggerOnEventHandler()\ + +> **TriggerOnEventHandler**\<`RequestType`\> = (`event`, `context`) => `TriggerResult` + +## Type Parameters + +### RequestType + +`RequestType` + +## Parameters + +### event + +`RequestType` + +### context + +[`TriggerContext`](TriggerContext.md) + +## Returns + +`TriggerResult` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Trophy.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Trophy.md new file mode 100644 index 00000000..5a244f13 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Trophy.md @@ -0,0 +1,90 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Trophy + +> **Trophy** = `object` + +A trophy displayed on a user's profile. +All fields are optional; the API may return null or omit any of them. + +## Properties + + + +### awardId + +> **awardId**: `T6` \| `undefined` + +Award ID. + +*** + + + +### description + +> **description**: `string` \| `undefined` + +Description. + +*** + + + +### grantedAt + +> **grantedAt**: `number` \| `undefined` + +When the trophy was granted (Unix timestamp). + +*** + + + +### iconSmallUrl + +> **iconSmallUrl**: `string` \| `undefined` + +URL of the small icon. Currently 40x40. + +*** + + + +### iconUrl + +> **iconUrl**: `string` \| `undefined` + +URL of the trophy icon. Currently 70x70. + +*** + + + +### id + +> **id**: `T6` \| `undefined` + +Trophy ID. + +*** + + + +### name + +> **name**: `string` \| `undefined` + +Display name of the trophy. + +*** + + + +### url + +> **url**: `string` \| `undefined` + +URL to redirect to when the trophy is clicked. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UIClient.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UIClient.md new file mode 100644 index 00000000..1de2ff32 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UIClient.md @@ -0,0 +1,206 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UIClient + +> **UIClient** = `object` + +The UI client lets your app interact with the Reddit frontend. +This client will only be available for capabilities that have +a frontend component, such as within the Custom Post component's +event handlers, a Form's `onSubmit` handler, and Menu items. + +## Methods + + + +### navigateTo() + +#### Call Signature + +> **navigateTo**(`url`): `void` + +Navigate to a URL + +##### Parameters + +###### url + +`string` + +##### Returns + +`void` + +#### Call Signature + +> **navigateTo**(`subreddit`): `void` + +##### Parameters + +###### subreddit + +`Pick`\<[`Subreddit`](../classes/Subreddit.md), `"permalink"` \| `"url"`\> + +##### Returns + +`void` + +#### Call Signature + +> **navigateTo**(`post`): `void` + +##### Parameters + +###### post + +`Pick`\<[`Post`](../classes/Post.md), `"permalink"` \| `"url"`\> + +##### Returns + +`void` + +#### Call Signature + +> **navigateTo**(`comment`): `void` + +##### Parameters + +###### comment + +`Pick`\<[`Comment`](../classes/Comment.md), `"permalink"` \| `"url"`\> + +##### Returns + +`void` + +#### Call Signature + +> **navigateTo**(`user`): `void` + +##### Parameters + +###### user + +`Pick`\<[`User`](../classes/User.md), `"permalink"` \| `"url"`\> + +##### Returns + +`void` + +#### Call Signature + +> **navigateTo**(`urlOrThing`): `void` + +##### Parameters + +###### urlOrThing + +`string` | \{ `permalink`: `string`; `url`: `string`; \} + +##### Returns + +`void` + +*** + + + +### showForm() + +> **showForm**(`formKey`, `data`?): `void` + +Open a form in a modal + +#### Parameters + +##### formKey + +[`FormKey`](FormKey.md) + +##### data? + +[`JSONObject`](JSONObject.md) + +#### Returns + +`void` + +*** + + + +### showFormInternal() + +> **showFormInternal**(`formKey`, `data`?, `formDataOverride`?): `void` + +Internal use only. + +#### Parameters + +##### formKey + +[`FormKey`](FormKey.md) + +##### data? + +[`JSONObject`](JSONObject.md) + +##### formDataOverride? + +[`Form`](Form.md) + +#### Returns + +`void` + +*** + + + +### showToast() + +#### Call Signature + +> **showToast**(`text`): `void` + +Show a message in a toast. + +##### Parameters + +###### text + +`string` + +##### Returns + +`void` + +#### Call Signature + +> **showToast**(`toast`): `void` + +##### Parameters + +###### toast + +[`Toast`](Toast.md) + +##### Returns + +`void` + +#### Call Signature + +> **showToast**(`textOrToast`): `void` + +##### Parameters + +###### textOrToast + +`string` | [`Toast`](Toast.md) + +##### Returns + +`void` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UnreadCountResponse.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UnreadCountResponse.md new file mode 100644 index 00000000..1e3c4b46 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UnreadCountResponse.md @@ -0,0 +1,79 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UnreadCountResponse + +> **UnreadCountResponse** = `object` + +## Properties + + + +### appeals? + +> `optional` **appeals**: `number` + +*** + + + +### archived? + +> `optional` **archived**: `number` + +*** + + + +### filtered? + +> `optional` **filtered**: `number` + +*** + + + +### highlighted? + +> `optional` **highlighted**: `number` + +*** + + + +### inprogress? + +> `optional` **inprogress**: `number` + +*** + + + +### joinRequests? + +> `optional` **joinRequests**: `number` + +*** + + + +### mod? + +> `optional` **mod**: `number` + +*** + + + +### new? + +> `optional` **new**: `number` + +*** + + + +### notifications? + +> `optional` **notifications**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UpdatePageSettingsOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdatePageSettingsOptions.md new file mode 100644 index 00000000..260a4f19 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdatePageSettingsOptions.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UpdatePageSettingsOptions + +> **UpdatePageSettingsOptions** = `object` + +## Properties + + + +### listed + +> **listed**: `boolean` + +Whether the page should be listed in the wiki index. + +*** + + + +### page + +> **page**: `string` + +The name of the page to update settings for. + +*** + + + +### permLevel + +> **permLevel**: [`WikiPagePermissionLevel`](../enumerations/WikiPagePermissionLevel.md) + +The permission level for the page. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the page is in. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateRuleOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateRuleOptions.md new file mode 100644 index 00000000..39c22ab4 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateRuleOptions.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UpdateRuleOptions + +> **UpdateRuleOptions** = `Partial`\<`Omit`\<`UpdateSubredditRuleRequest`, `"r"` \| `"oldShortName"`\>\> & `object` + +New values for an existing rule. All fields are optional. If a field is not provided, the existing value will not be changed. + +## Type declaration + +### kind? + +> `optional` **kind**: `"all"` \| `"link"` \| `"comment"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateWidgetData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateWidgetData.md new file mode 100644 index 00000000..f97e237c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateWidgetData.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UpdateWidgetData + +> **UpdateWidgetData** = `UpdateImageWidgetRequest` & `object` \| `UpdateCalendarWidgetRequest` & `object` \| `UpdateTextAreaWidgetRequest` & `object` \| `UpdateButtonWidgetRequest` & `object` \| `UpdateCommunityListWidgetRequest` & `object` \| `UpdatePostFlairWidgetRequest` & `object` \| `UpdateCustomWidgetRequest` & `object` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateWikiPageOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateWikiPageOptions.md new file mode 100644 index 00000000..5ff1d1a5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UpdateWikiPageOptions.md @@ -0,0 +1,47 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UpdateWikiPageOptions + +> **UpdateWikiPageOptions** = `object` + +## Properties + + + +### content + +> **content**: `string` + +The new content of the page. + +*** + + + +### page + +> **page**: `string` + +The name of the page to update. + +*** + + + +### reason? + +> `optional` **reason**: `string` + +The reason for updating the page. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the page is in. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UploadMediaOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UploadMediaOptions.md new file mode 100644 index 00000000..6ea9f72d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UploadMediaOptions.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UploadMediaOptions + +> **UploadMediaOptions** = `object` + +## Properties + + + +### type + +> **type**: `"image"` \| `"gif"` \| `"video"` + +The type of media being uploaded. (Note that GIFs are their own type.) + +*** + + + +### url + +> **url**: `string` + +The URL of the file to upload. Must be fetch-able. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UrlString.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UrlString.md new file mode 100644 index 00000000..142037de --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UrlString.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UrlString + +> **UrlString** = `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserFlair.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserFlair.md new file mode 100644 index 00000000..5e672cf3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserFlair.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserFlair + +> **UserFlair** = `object` + +## Properties + + + +### flairCssClass? + +> `optional` **flairCssClass**: `string` + +The CSS class applied to this flair in the UI. + +*** + + + +### flairText? + +> `optional` **flairText**: `string` + +The text displayed in the UI for this flair. + +*** + + + +### user? + +> `optional` **user**: `string` + +The username of the user to which this flair is assigned. diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserFlairPageOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserFlairPageOptions.md new file mode 100644 index 00000000..9ac2007b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserFlairPageOptions.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserFlairPageOptions + +> **UserFlairPageOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +A user id optionally provided which will result in a slice of user flairs, starting after this user, to be returned. + +*** + + + +### before? + +> `optional` **before**: `string` + +A user id optionally provided which will result in a slice of user flairs, starting before this user, to be returned. + +*** + + + +### limit? + +> `optional` **limit**: `number` + +A limit to the number of flairs that will be returned. Default: 25, Max: 1000 diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserLink.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserLink.md new file mode 100644 index 00000000..d2bd06bc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserLink.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserLink + +> **UserLink** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`USER_LINK_ELEMENT`](../variables/USER_LINK_ELEMENT.md) + +*** + + + +### l + +> **l**: `boolean` + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserLinkOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserLinkOptions.md new file mode 100644 index 00000000..88f5bc6c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserLinkOptions.md @@ -0,0 +1,25 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserLinkOptions + +> **UserLinkOptions** = [`PrefixedRedditLinkOptions`](PrefixedRedditLinkOptions.md) & `object` + +## Type declaration + +### username + +> **username**: `string` + +Username the link should point to without "u/" prefix + +#### Example + +```ts +{ username: 'spez', showPrefix: true } +``` + +## Borrows + +PrefixedRedditLinkOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserMention.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserMention.md new file mode 100644 index 00000000..14a5c6e7 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserMention.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserMention + +> **UserMention** = `object` + +## Properties + + + +### e + +> **e**: *typeof* [`USER_MENTION_ELEMENT`](../variables/USER_MENTION_ELEMENT.md) + +*** + + + +### l + +> **l**: `boolean` + +*** + + + +### t + +> **t**: `string` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserMentionOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserMentionOptions.md new file mode 100644 index 00000000..d575ae99 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserMentionOptions.md @@ -0,0 +1,11 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserMentionOptions + +> **UserMentionOptions** = [`UserLinkOptions`](UserLinkOptions.md) + +## Borrows + +UserLinkOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserNote.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserNote.md new file mode 100644 index 00000000..66c930b8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserNote.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserNote + +> **UserNote** = `object` + +## Properties + + + +### label? + +> `optional` **label**: [`UserNoteLabel`](UserNoteLabel.md) + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### redditId? + +> `optional` **redditId**: `T1` \| `T3` \| `T5` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserNoteLabel.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserNoteLabel.md new file mode 100644 index 00000000..aa729ee9 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserNoteLabel.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserNoteLabel + +> **UserNoteLabel** = `"BOT_BAN"` \| `"PERMA_BAN"` \| `"BAN"` \| `"ABUSE_WARNING"` \| `"SPAM_WARNING"` \| `"SPAM_WATCH"` \| `"SOLID_CONTRIBUTOR"` \| `"HELPFUL_USER"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/UserSocialLink.md b/versioned_docs/version-0.14/api/public-api/type-aliases/UserSocialLink.md new file mode 100644 index 00000000..50e05101 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/UserSocialLink.md @@ -0,0 +1,67 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: UserSocialLink + +> **UserSocialLink** = `object` + +## Field + +id: ID of the social link. + +## Field + +handle: Display name of social media link. + +## Field + +outboundUrl: Outbound url of social media link. + +## Field + +type: Type of social media link i.e. Instagram, YouTube. + +## Field + +title: Title or name of social media link. + +## Properties + + + +### handle? + +> `optional` **handle**: `string` + +*** + + + +### id + +> **id**: `string` + +*** + + + +### outboundUrl + +> **outboundUrl**: `string` + +*** + + + +### title + +> **title**: `string` + +*** + + + +### type + +> **type**: [`SocialLinkType`](../enumerations/SocialLinkType.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedBooleanField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedBooleanField.md new file mode 100644 index 00000000..bff44ed5 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedBooleanField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ValidatedBooleanField + +> **ValidatedBooleanField** = `Prettify`\<[`ValidatedFormField`](ValidatedFormField.md)\<[`BooleanField`](BooleanField.md), `boolean`\>\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedFormField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedFormField.md new file mode 100644 index 00000000..d7f7a30c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedFormField.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ValidatedFormField\ + +> **ValidatedFormField**\<`Field`, `ValueType`\> = `Omit`\<`Field`, `"required"`\> & `object` + +## Type declaration + +### onValidate? + +> `optional` **onValidate**: [`OnValidateHandler`](OnValidateHandler.md)\<`ValueType`\> + +## Type Parameters + +### Field + +`Field` + +### ValueType + +`ValueType` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedNumberField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedNumberField.md new file mode 100644 index 00000000..cb89d2b2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedNumberField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ValidatedNumberField + +> **ValidatedNumberField** = `Prettify`\<[`ValidatedFormField`](ValidatedFormField.md)\<[`NumberField`](NumberField.md), `number`\>\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedParagraphField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedParagraphField.md new file mode 100644 index 00000000..4de9e70d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedParagraphField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ValidatedParagraphField + +> **ValidatedParagraphField** = `Prettify`\<[`ValidatedFormField`](ValidatedFormField.md)\<[`ParagraphField`](ParagraphField.md), `string`\>\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedSelectField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedSelectField.md new file mode 100644 index 00000000..c18c88e8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedSelectField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ValidatedSelectField + +> **ValidatedSelectField** = `Prettify`\<[`ValidatedFormField`](ValidatedFormField.md)\<[`SelectField`](SelectField.md), `string`[]\>\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedStringField.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedStringField.md new file mode 100644 index 00000000..6a1a0d0c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ValidatedStringField.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ValidatedStringField + +> **ValidatedStringField** = `Prettify`\<[`ValidatedFormField`](ValidatedFormField.md)\<[`StringField`](StringField.md), `string`\>\> diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Vault.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Vault.md new file mode 100644 index 00000000..0cbc20d2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Vault.md @@ -0,0 +1,77 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Vault + +> **Vault** = `object` + +A type representing a Vault (crypto wallet). + +## Properties + + + +### address + +> **address**: `string` + +The address of the Vault. + +#### Example + +```ts +'0x205ee28744456bDBf180A0Fa7De51e0F116d54Ed' +``` + +*** + + + +### createdAt + +> **createdAt**: `string` + +The date the Vault was created. + +*** + + + +### isActive + +> **isActive**: `boolean` + +Whether the Vault is active. + +*** + + + +### provider + +> **provider**: `string` + +The provider of the Vault address. + +#### Example + +```ts +'ethereum' +``` + +*** + + + +### userId + +> **userId**: `T2` + +The ID (starting with t2_) of the user owning the Vault. + +#### Example + +```ts +'t2_1w72' +``` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Video.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Video.md new file mode 100644 index 00000000..4850d6e8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Video.md @@ -0,0 +1,65 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Video + +> **Video** = `object` + +## Properties + + + +### c? + +> `optional` **c**: `string` + +*** + + + +### e + +> **e**: *typeof* [`VIDEO_ELEMENT`](../variables/VIDEO_ELEMENT.md) + +*** + + + +### gifify? + +> `optional` **gifify**: `boolean` + +*** + + + +### id? + +> `optional` **id**: [`MediaAssetId`](MediaAssetId.md) + +*** + + + +### mediaUrl? + +> `optional` **mediaUrl**: `string` + +URL of the media when building; backend may replace with id in processed JSON + +*** + + + +### o? + +> `optional` **o**: [`ObfuscationReason`](ObfuscationReason.md) + +*** + + + +### p? + +> `optional` **p**: [`Image`](Image.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/VideoContainer.md b/versioned_docs/version-0.14/api/public-api/type-aliases/VideoContainer.md new file mode 100644 index 00000000..573ac62d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/VideoContainer.md @@ -0,0 +1,37 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: VideoContainer\ + +> **VideoContainer**\<`Context`\> = `object` + +## Mixin + +## Type Parameters + +### Context + +`Context` + +## Methods + + + +### video() + +> **video**(`opts`): `Context` + +Append a Video + +#### Parameters + +##### opts + +[`VideoOptions`](VideoOptions.md) + +[VideoOptions](VideoOptions.md) + +#### Returns + +`Context` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/VideoOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/VideoOptions.md new file mode 100644 index 00000000..d50a1b52 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/VideoOptions.md @@ -0,0 +1,30 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: VideoOptions + +> **VideoOptions** = [`MediaOptions`](MediaOptions.md) & `object` + +## Type declaration + +### convertToGif? + +> `optional` **convertToGif**: `boolean` + +Whether the video should be converted to a looping GIF + +### thumbnail? + +> `optional` **thumbnail**: [`Image`](Image.md) + +An [Image](Image.md) element to use as the thumbnail before the video has loaded + +#### See + + - [Image](Image.md) + - + +## Borrows + +MediaOptions diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/Visibility.md b/versioned_docs/version-0.14/api/public-api/type-aliases/Visibility.md new file mode 100644 index 00000000..cd34bd77 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/Visibility.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: Visibility + +> **Visibility** = `"show"` \| `"hide"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/WikiEditMode.md b/versioned_docs/version-0.14/api/public-api/type-aliases/WikiEditMode.md new file mode 100644 index 00000000..4c9c3ece --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/WikiEditMode.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: WikiEditMode + +> **WikiEditMode** = `"disabled"` \| `"modonly"` \| `"anyone"` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/WikiPageRevisionId.md b/versioned_docs/version-0.14/api/public-api/type-aliases/WikiPageRevisionId.md new file mode 100644 index 00000000..f1f2aa62 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/WikiPageRevisionId.md @@ -0,0 +1,9 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: WikiPageRevisionId + +> **WikiPageRevisionId** = `` `${string}-${string}-${string}-${string}-${string}` `` + +The revision ID is a v4 UUID diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/WithUserData.md b/versioned_docs/version-0.14/api/public-api/type-aliases/WithUserData.md new file mode 100644 index 00000000..82b503ed --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/WithUserData.md @@ -0,0 +1,15 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: WithUserData + +> **WithUserData** = `object` + +## Properties + + + +### user? + +> `optional` **user**: [`ConversationUserData`](ConversationUserData.md) diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ZMember.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ZMember.md new file mode 100644 index 00000000..ee5abb73 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ZMember.md @@ -0,0 +1,23 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ZMember + +> **ZMember** = `object` + +## Properties + + + +### member + +> **member**: `string` + +*** + + + +### score + +> **score**: `number` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ZRangeByScoreOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ZRangeByScoreOptions.md new file mode 100644 index 00000000..93cf716e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ZRangeByScoreOptions.md @@ -0,0 +1,31 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ZRangeByScoreOptions + +> **ZRangeByScoreOptions** = `object` + +## Properties + + + +### limit? + +> `optional` **limit**: `object` + +#### count + +> **count**: `number` + +#### offset + +> **offset**: `number` + +*** + + + +### withScores? + +> `optional` **withScores**: `boolean` diff --git a/versioned_docs/version-0.14/api/public-api/type-aliases/ZRangeOptions.md b/versioned_docs/version-0.14/api/public-api/type-aliases/ZRangeOptions.md new file mode 100644 index 00000000..fd73c4ae --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/type-aliases/ZRangeOptions.md @@ -0,0 +1,42 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Type Alias: ZRangeOptions + +> **ZRangeOptions** = `object` + +## Properties + + + +### by + +> **by**: `"score"` \| `"lex"` \| `"rank"` + +*** + + + +### limit? + +> `optional` **limit**: `object` + +#### count + +> **count**: `number` + +#### offset + +> **offset**: `number` + +*** + + + +### reverse? + +> `optional` **reverse**: `boolean` + +Reverses the sorted set, with index 0 as the element with the highest +score. diff --git a/versioned_docs/version-0.14/api/public-api/variables/ANIMATED_IMAGE_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/ANIMATED_IMAGE_ELEMENT.md new file mode 100644 index 00000000..a44f581d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/ANIMATED_IMAGE_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: ANIMATED\_IMAGE\_ELEMENT + +> `const` **ANIMATED\_IMAGE\_ELEMENT**: `"gif"` = `"gif"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/BLOCK_QUOTE_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/BLOCK_QUOTE_ELEMENT.md new file mode 100644 index 00000000..afdab8af --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/BLOCK_QUOTE_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: BLOCK\_QUOTE\_ELEMENT + +> `const` **BLOCK\_QUOTE\_ELEMENT**: `"blockquote"` = `"blockquote"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/CODE_BLOCK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/CODE_BLOCK_ELEMENT.md new file mode 100644 index 00000000..ab98686d --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/CODE_BLOCK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: CODE\_BLOCK\_ELEMENT + +> `const` **CODE\_BLOCK\_ELEMENT**: `"code"` = `"code"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_CENTER.md b/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_CENTER.md new file mode 100644 index 00000000..51587407 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_CENTER.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: COLUMN\_ALIGN\_CENTER + +> `const` **COLUMN\_ALIGN\_CENTER**: `"C"` = `"C"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_LEFT.md b/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_LEFT.md new file mode 100644 index 00000000..d067195e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_LEFT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: COLUMN\_ALIGN\_LEFT + +> `const` **COLUMN\_ALIGN\_LEFT**: `"L"` = `"L"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_RIGHT.md b/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_RIGHT.md new file mode 100644 index 00000000..7670e29a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/COLUMN_ALIGN_RIGHT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: COLUMN\_ALIGN\_RIGHT + +> `const` **COLUMN\_ALIGN\_RIGHT**: `"R"` = `"R"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/COMMENT_LINK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/COMMENT_LINK_ELEMENT.md new file mode 100644 index 00000000..3a74bf88 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/COMMENT_LINK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: COMMENT\_LINK\_ELEMENT + +> `const` **COMMENT\_LINK\_ELEMENT**: `"c/"` = `"c/"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/EMBED_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/EMBED_ELEMENT.md new file mode 100644 index 00000000..0b7cb2a3 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/EMBED_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: EMBED\_ELEMENT + +> `const` **EMBED\_ELEMENT**: `"embed"` = `"embed"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/GalleryMediaStatus.md b/versioned_docs/version-0.14/api/public-api/variables/GalleryMediaStatus.md new file mode 100644 index 00000000..fea5e36a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/GalleryMediaStatus.md @@ -0,0 +1,27 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: GalleryMediaStatus + +> `const` **GalleryMediaStatus**: `object` + +## Type declaration + + + +### FAILED + +> `readonly` **FAILED**: `2` + + + +### UNKNOWN + +> `readonly` **UNKNOWN**: `0` + + + +### VALID + +> `readonly` **VALID**: `1` diff --git a/versioned_docs/version-0.14/api/public-api/variables/HEADING_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/HEADING_ELEMENT.md new file mode 100644 index 00000000..9ded6ded --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/HEADING_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: HEADING\_ELEMENT + +> `const` **HEADING\_ELEMENT**: `"h"` = `"h"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/HORIZONTAL_RULE_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/HORIZONTAL_RULE_ELEMENT.md new file mode 100644 index 00000000..c8d5553a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/HORIZONTAL_RULE_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: HORIZONTAL\_RULE\_ELEMENT + +> `const` **HORIZONTAL\_RULE\_ELEMENT**: `"hr"` = `"hr"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/IMAGE_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/IMAGE_ELEMENT.md new file mode 100644 index 00000000..7486c481 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/IMAGE_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: IMAGE\_ELEMENT + +> `const` **IMAGE\_ELEMENT**: `"img"` = `"img"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/LINEBREAK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/LINEBREAK_ELEMENT.md new file mode 100644 index 00000000..f68eaa4c --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/LINEBREAK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: LINEBREAK\_ELEMENT + +> `const` **LINEBREAK\_ELEMENT**: `"br"` = `"br"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/LINK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/LINK_ELEMENT.md new file mode 100644 index 00000000..3c384858 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/LINK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: LINK\_ELEMENT + +> `const` **LINK\_ELEMENT**: `"link"` = `"link"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/LIST_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/LIST_ELEMENT.md new file mode 100644 index 00000000..0c19c4db --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/LIST_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: LIST\_ELEMENT + +> `const` **LIST\_ELEMENT**: `"list"` = `"list"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/LIST_ITEM_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/LIST_ITEM_ELEMENT.md new file mode 100644 index 00000000..3abfbb5a --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/LIST_ITEM_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: LIST\_ITEM\_ELEMENT + +> `const` **LIST\_ITEM\_ELEMENT**: `"li"` = `"li"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/PARAGRAPH_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/PARAGRAPH_ELEMENT.md new file mode 100644 index 00000000..2ddf847b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/PARAGRAPH_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: PARAGRAPH\_ELEMENT + +> `const` **PARAGRAPH\_ELEMENT**: `"par"` = `"par"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/POST_LINK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/POST_LINK_ELEMENT.md new file mode 100644 index 00000000..a0233da8 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/POST_LINK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: POST\_LINK\_ELEMENT + +> `const` **POST\_LINK\_ELEMENT**: `"p/"` = `"p/"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/RAW_TEXT_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/RAW_TEXT_ELEMENT.md new file mode 100644 index 00000000..230529bc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/RAW_TEXT_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: RAW\_TEXT\_ELEMENT + +> `const` **RAW\_TEXT\_ELEMENT**: `"raw"` = `"raw"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/SPOILER_TEXT_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/SPOILER_TEXT_ELEMENT.md new file mode 100644 index 00000000..12f54384 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/SPOILER_TEXT_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: SPOILER\_TEXT\_ELEMENT + +> `const` **SPOILER\_TEXT\_ELEMENT**: `"spoilertext"` = `"spoilertext"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/SUBREDDIT_LINK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/SUBREDDIT_LINK_ELEMENT.md new file mode 100644 index 00000000..ada198fd --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/SUBREDDIT_LINK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: SUBREDDIT\_LINK\_ELEMENT + +> `const` **SUBREDDIT\_LINK\_ELEMENT**: `"r/"` = `"r/"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/TABLE_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/TABLE_ELEMENT.md new file mode 100644 index 00000000..f84fce98 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/TABLE_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: TABLE\_ELEMENT + +> `const` **TABLE\_ELEMENT**: `"table"` = `"table"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/TEXT_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/TEXT_ELEMENT.md new file mode 100644 index 00000000..ec67930b --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/TEXT_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: TEXT\_ELEMENT + +> `const` **TEXT\_ELEMENT**: `"text"` = `"text"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/USER_LINK_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/USER_LINK_ELEMENT.md new file mode 100644 index 00000000..886d88cb --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/USER_LINK_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: USER\_LINK\_ELEMENT + +> `const` **USER\_LINK\_ELEMENT**: `"u/"` = `"u/"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/USER_MENTION_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/USER_MENTION_ELEMENT.md new file mode 100644 index 00000000..c5a4f1cc --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/USER_MENTION_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: USER\_MENTION\_ELEMENT + +> `const` **USER\_MENTION\_ELEMENT**: `"@"` = `"@"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/VIDEO_ELEMENT.md b/versioned_docs/version-0.14/api/public-api/variables/VIDEO_ELEMENT.md new file mode 100644 index 00000000..e3bdd9d2 --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/VIDEO_ELEMENT.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: VIDEO\_ELEMENT + +> `const` **VIDEO\_ELEMENT**: `"video"` = `"video"` diff --git a/versioned_docs/version-0.14/api/public-api/variables/reddit.md b/versioned_docs/version-0.14/api/public-api/variables/reddit.md new file mode 100644 index 00000000..6d8f664e --- /dev/null +++ b/versioned_docs/version-0.14/api/public-api/variables/reddit.md @@ -0,0 +1,7 @@ +[**@devvit/public-api v0.14.0-dev**](../README.md) + +*** + +# Variable: reddit + +> `const` **reddit**: [`RedditClient`](../classes/RedditClient.md) diff --git a/versioned_docs/version-0.14/api/redditapi/README.md b/versioned_docs/version-0.14/api/redditapi/README.md new file mode 100644 index 00000000..496ce623 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/README.md @@ -0,0 +1,10 @@ +**@devvit/reddit v0.14.0-dev** + +*** + +# @devvit/reddit v0.14.0-dev + +## Modules + +- [models](models/README.md) +- [RedditClient](RedditClient/README.md) diff --git a/versioned_docs/version-0.14/api/redditapi/RedditClient/README.md b/versioned_docs/version-0.14/api/redditapi/RedditClient/README.md new file mode 100644 index 00000000..59777e18 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/RedditClient/README.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../README.md) + +*** + +# RedditClient + +## Classes + +- [RedditClient](classes/RedditClient.md) + +## Type Aliases + +- [CustomPostStyles](type-aliases/CustomPostStyles.md) +- [InviteModeratorOptions](type-aliases/InviteModeratorOptions.md) +- [MuteUserOptions](type-aliases/MuteUserOptions.md) diff --git a/versioned_docs/version-0.14/api/redditapi/RedditClient/classes/RedditClient.md b/versioned_docs/version-0.14/api/redditapi/RedditClient/classes/RedditClient.md new file mode 100644 index 00000000..08ad8cb1 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/RedditClient/classes/RedditClient.md @@ -0,0 +1,3551 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: RedditClient + +The Reddit API Client + +To use the Reddit API Client, add it to the plugin configuration at the top of the file. + +## Example + +```ts + +Devvit.configure({ + redditAPI: true, + // other plugins +}) + +// use within one of our capability handlers e.g. Menu Actions, Triggers, Scheduled Job Type, etc +async (event, context) => { + const subreddit = await context.reddit.getSubredditById(context.subredditId); + context.reddit.submitPost({ + subredditName: subreddit.name, + title: 'test post', + text: 'test body', + }) + // additional code +} +``` + +## Constructors + + + +### new RedditClient() + +> **new RedditClient**(): `RedditClient` + +#### Returns + +`RedditClient` + +## Accessors + + + +### modMail + +#### Get Signature + +> **get** **modMail**(): [`ModMailService`](../../models/classes/ModMailService.md) + +Get ModMail API object + +##### Example + +```ts +await reddit.modMail.reply({ + body: "Here is my message", + conversationId: "abcd42"; +}) +``` + +##### Returns + +[`ModMailService`](../../models/classes/ModMailService.md) + +## Methods + + + +### addEditorToWikiPage() + +> **addEditorToWikiPage**(`subredditName`, `page`, `username`): `Promise`\<`void`\> + +Add an editor to a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to add the editor to. + +##### username + +`string` + +The username of the user to add as an editor. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### addModNote() + +> **addModNote**(`options`): `Promise`\<[`ModNote`](../../models/classes/ModNote.md)\> + +Add a mod note. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<[`ModNote`](../../models/classes/ModNote.md)\> + +A Promise that resolves if the mod note was successfully added. + +*** + + + +### addRemovalNote() + +> **addRemovalNote**(`options`): `Promise`\<`void`\> + +Add a mod note for why a post or comment was removed + +#### Parameters + +##### options + +`Prettify` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### addSubredditRemovalReason() + +> **addSubredditRemovalReason**(`subredditName`, `options`): `Promise`\<`string`\> + +Add a removal reason to a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### options + +Options. + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`string`\> + +Removal Reason ID + +#### Example + +```ts +const newReason = await reddit.addSubredditRemovalReasons( + 'askReddit', + { + title: 'Spam', + message: 'This is spam!' + } +); +console.log(newReason.id) +``` + +*** + + + +### addWidget() + +> **addWidget**(`widgetData`): `Promise`\<[`Widget`](../../models/classes/Widget.md)\> + +Add a widget to a subreddit. + +#### Parameters + +##### widgetData + +[`AddWidgetData`](../../models/type-aliases/AddWidgetData.md) + +The data for the widget to add. + +#### Returns + +`Promise`\<[`Widget`](../../models/classes/Widget.md)\> + +- The added Widget object. + +*** + + + +### addWikiContributor() + +> **addWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +Add a user as a wiki contributor for a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to add as a wiki contributor. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to add the user as a wiki contributor. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approve() + +> **approve**(`id`): `Promise`\<`void`\> + +Approve a post or comment. + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to approve. + +`` `t1_${string}` `` | `` `t3_${string}` `` + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.approve('t3_123456'); +await reddit.approve('t1_123456'); +``` + +*** + + + +### approveUser() + +> **approveUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Approve a user to post in a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to approve. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to approve the user in. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banUser() + +> **banUser**(`options`): `Promise`\<`void`\> + +Ban a user from a subreddit. + +#### Parameters + +##### options + +[`BanUserOptions`](../../models/type-aliases/BanUserOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banWikiContributor() + +> **banWikiContributor**(`options`): `Promise`\<`void`\> + +Ban a user from contributing to the wiki on a subreddit. + +#### Parameters + +##### options + +[`BanWikiContributorOptions`](../../models/type-aliases/BanWikiContributorOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createPostFlairTemplate() + +> **createPostFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)\> + +Create a post flair template for a subreddit. + +#### Parameters + +##### options + +[`CreateFlairTemplateOptions`](../../models/type-aliases/CreateFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)\> + +The created FlairTemplate object. + +*** + + + +### createRule() + +> **createRule**(`subredditName`, `options`): `Promise`\<`void`\> + +Create a new rule in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to add the rule to. + +##### options + +[`CreateRuleOptions`](../../models/type-aliases/CreateRuleOptions.md) + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createShareUrl() + +> **createShareUrl**(`url`): `Promise`\<`string`\> + +Create a short share URL for a Reddit location. + +Valid inputs: +- Absolute Reddit URLs without a query string (e.g., https://reddit.com/r/gamesonreddit) +- URLs with a query string limited to: utm_source, utm_medium, devvitshare + +#### Parameters + +##### url + +`string` + +Full Reddit URL to shorten. Must be absolute and either have no query string or only the allowed query params. + +#### Returns + +`Promise`\<`string`\> + +The shortened share URL (e.g., 'https://reddit.com/s/abc123'). + +#### Note + +old.reddit.com URLs can be shortened but they will redirect to reddit.com. + +#### Throws + +If the input URL is invalid, contains unsupported query parameters, or the share URL cannot be created. + +*** + + + +### createUserFlairTemplate() + +> **createUserFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)\> + +Create a user flair template for a subreddit. + +#### Parameters + +##### options + +[`CreateFlairTemplateOptions`](../../models/type-aliases/CreateFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)\> + +The created FlairTemplate object. + +*** + + + +### createWikiPage() + +> **createWikiPage**(`options`): `Promise`\<[`WikiPage`](../../models/classes/WikiPage.md)\> + +Create a new wiki page for a subreddit. + +#### Parameters + +##### options + +[`CreateWikiPageOptions`](../../models/type-aliases/CreateWikiPageOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPage`](../../models/classes/WikiPage.md)\> + +- The created WikiPage object. + +*** + + + +### crosspost() + +> **crosspost**(`opts`): `Promise`\<[`Post`](../../models/classes/Post.md)\> + +Crossposts a post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../../models/type-aliases/SubredditOptions.md) & [`CommonSubmitPostOptions`](../../models/type-aliases/CommonSubmitPostOptions.md) & `Required`\<[`SubredditOptions`](../../models/type-aliases/SubredditOptions.md)\> & `object`\> + +Options for crossposting a post + +#### Returns + +`Promise`\<[`Post`](../../models/classes/Post.md)\> + +- A Promise that resolves to a Post object. + +#### See + + - [()\|submitPost()](#submitpost) + - [()\|submitCustomPost()](#submitcustompost) + +*** + + + +### deleteFlairTemplate() + +> **deleteFlairTemplate**(`subredditName`, `flairTemplateId`): `Promise`\<`void`\> + +Delete a flair template from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to delete the flair template from. + +##### flairTemplateId + +`string` + +The ID of the flair template to delete. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### deleteModNote() + +> **deleteModNote**(`options`): `Promise`\<`boolean`\> + +Delete a mod note. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<`boolean`\> + +True if it was deleted successfully; false otherwise. + +*** + + + +### deleteSubredditRemovalReason() + +> **deleteSubredditRemovalReason**(`subredditName`, `reasonId`): `Promise`\<`void`\> + +Delete a removal reason from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### reasonId + +`string` + +ID of the removal reason (from get or add). + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.deleteSubredditRemovalReason('askReddit', 'uuid-abc'); +``` + +*** + + + +### deleteWidget() + +> **deleteWidget**(`subredditName`, `widgetId`): `Promise`\<`void`\> + +Delete a widget from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to delete the widget from. + +##### widgetId + +`string` + +The ID of the widget to delete. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### editFlairTemplate() + +> **editFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)\> + +Edit a flair template for a subreddit. This can be either a post or user flair template. +Note: If you leave any of the options fields as undefined, they will reset to their default values. + +#### Parameters + +##### options + +[`EditFlairTemplateOptions`](../../models/type-aliases/EditFlairTemplateOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)\> + +The edited FlairTemplate object. + +*** + + + +### filter() + +> **filter**(`id`, `options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters a post or comment. When a post or comment is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to filter. + +`` `t1_${string}` `` | `` `t3_${string}` `` + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the post or comment was filtered successfully. + +*** + + + +### getApprovedUsers() + +> **getApprovedUsers**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`SubredditContributorUser`](../../models/classes/SubredditContributorUser.md)\> + +Get a list of users who have been approved to post in a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`SubredditContributorUser`](../../models/classes/SubredditContributorUser.md)\> + +A Listing of SubredditContributorUser objects. + +*** + + + +### getAppUser() + +> **getAppUser**(): `Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +Get the user that the app runs as on the provided metadata. + +#### Returns + +`Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +A Promise that resolves to a User object. + +#### Example + +```ts +const user = await reddit.getAppUser(metadata); +``` + +*** + + + +### getBannedUsers() + +> **getBannedUsers**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`SubredditBannedUser`](../../models/classes/SubredditBannedUser.md)\> + +Get a list of users who are banned from a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`SubredditBannedUser`](../../models/classes/SubredditBannedUser.md)\> + +A Listing of SubredditBannedUser objects. + +*** + + + +### getBannedWikiContributors() + +> **getBannedWikiContributors**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`SubredditWikiBannedUser`](../../models/classes/SubredditWikiBannedUser.md)\> + +Get a list of users who are banned from contributing to the wiki on a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`SubredditWikiBannedUser`](../../models/classes/SubredditWikiBannedUser.md)\> + +A Listing of SubredditWikiBannedUser objects. + +*** + + + +### getBestPosts() + +> **getBestPosts**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of best posts from the front page. +This method will get the front page for the app account by default. +To get the front page for a user, please contact Reddit. + +#### Parameters + +##### options + +[`ListingFetchOptions`](../../models/type-aliases/ListingFetchOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getBestPosts({ + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getCommentById() + +> **getCommentById**(`id`): `Promise`\<[`Comment`](../../models/classes/Comment.md)\> + +Get a [Comment](../../models/classes/Comment.md) object by ID + +#### Parameters + +##### id + +`` `t1_${string}` `` + +The ID (starting with t1_) of the comment to retrieve. e.g. t1_1qjpg + +#### Returns + +`Promise`\<[`Comment`](../../models/classes/Comment.md)\> + +A Promise that resolves to a Comment object. + +#### Example + +```ts +const comment = await reddit.getCommentById('t1_1qjpg'); +``` + +*** + + + +### getComments() + +> **getComments**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Get a list of comments from a specific post or comment. + +#### Parameters + +##### options + +[`GetCommentsOptions`](../../models/type-aliases/GetCommentsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +A Listing of Comment objects. + +#### Example + +```ts +const comments = await reddit.getComments({ + postId: 't3_1qjpg', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getCommentsAndPostsByUser() + +> **getCommentsAndPostsByUser**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +Get a list of posts and comments from a specific user. + +#### Parameters + +##### options + +[`GetUserOverviewOptions`](../../models/type-aliases/GetUserOverviewOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +A Listing of `Post` and `Comment` objects. + +*** + + + +### getCommentsByUser() + +> **getCommentsByUser**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Get a list of comments by a specific user. + +#### Parameters + +##### options + +[`GetCommentsByUserOptions`](../../models/type-aliases/GetCommentsByUserOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +A Listing of Comment objects. + +*** + + + +### getControversialPosts() + +> **getControversialPosts**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of controversial posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptionsWithTimeframe`](../../models/type-aliases/GetPostsOptionsWithTimeframe.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getControversialPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getCurrentSubreddit() + +> **getCurrentSubreddit**(): `Promise`\<[`Subreddit`](../../models/classes/Subreddit.md)\> + +Retrieves the current subreddit. + +#### Returns + +`Promise`\<[`Subreddit`](../../models/classes/Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Example + +```ts +const currentSubreddit = await reddit.getCurrentSubreddit(); +``` + +*** + + + +### getCurrentUser() + +> **getCurrentUser**(): `Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +Get the current calling user. +Resolves to undefined for logged-out custom post renders. + +#### Returns + +`Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +A Promise that resolves to a User object or undefined + +#### Example + +```ts +const user = await reddit.getCurrentUser(); +``` + +*** + + + +### getCurrentUsername() + +> **getCurrentUsername**(): `Promise`\<`undefined` \| `string`\> + +Get the current calling user's username. +Resolves to undefined for logged-out custom post renders. + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +A Promise that resolves to a string representing the username or undefined + +#### Example + +```ts +const username = await reddit.getCurrentUsername(); +``` + +*** + + + +### getDuplicatesForPost() + +> **getDuplicatesForPost**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get posts that shared the same link as the given post. + +#### Parameters + +##### options + +[`GetDuplicatesOptions`](../../models/type-aliases/GetDuplicatesOptions.md) + +Options for the request. Post ID is required, eveything else is optional. + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const duplicates = await reddit.getDuplicatesForPost({ + postId: 't3_abc123', + sort: 'num_comments', + limit: 100 +}).all(); +``` + +*** + + + +### getEdited() + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getHotPosts() + +> **getHotPosts**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of hot posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetHotPostsOptions`](../../models/type-aliases/GetHotPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getHotPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getMessages() + +> **getMessages**(`options`): `Promise`\<[`Listing`](../../models/classes/Listing.md)\<[`PrivateMessage`](../../models/classes/PrivateMessage.md)\>\> + +Get private messages sent to the currently authenticated user. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +`Promise`\<[`Listing`](../../models/classes/Listing.md)\<[`PrivateMessage`](../../models/classes/PrivateMessage.md)\>\> + +*** + + + +### getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`ModAction`](../../models/interfaces/ModAction.md)\> + +Get the moderation log for a subreddit. + +#### Parameters + +##### options + +[`GetModerationLogOptions`](../../models/type-aliases/GetModerationLogOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`ModAction`](../../models/interfaces/ModAction.md)\> + +A Listing of ModAction objects. + +#### Example + +```ts +const modActions = await reddit.getModerationLog({ + subredditName: 'memes', + moderatorUsernames: ['spez'], + type: 'banuser', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getModerators() + +> **getModerators**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`SubredditModeratorUser`](../../models/classes/SubredditModeratorUser.md)\> + +Get a list of users who are moderators for a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`SubredditModeratorUser`](../../models/classes/SubredditModeratorUser.md)\> + +A Listing of SubredditModeratorUser objects. + +*** + + + +### getModNotes() + +> **getModNotes**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`ModNote`](../../models/classes/ModNote.md)\> + +Get a list of mod notes related to a user in a subreddit. + +#### Parameters + +##### options + +`Prettify` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`ModNote`](../../models/classes/ModNote.md)\> + +A listing of ModNote objects. + +*** + + + +### getModQueue() + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getMutedUsers() + +> **getMutedUsers**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`SubredditMutedUser`](../../models/classes/SubredditMutedUser.md)\> + +Get a list of users who are muted in a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`SubredditMutedUser`](../../models/classes/SubredditMutedUser.md)\> + +A listing of SubredditMutedUser objects. + +*** + + + +### getNewPosts() + +> **getNewPosts**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of new posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptions`](../../models/type-aliases/GetPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getNewPosts({ + subredditName: 'memes', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getPostById() + +> **getPostById**(`id`): `Promise`\<[`Post`](../../models/classes/Post.md)\> + +Gets a [Post](../../models/classes/Post.md) object by ID + +#### Parameters + +##### id + +`` `t3_${string}` `` + +#### Returns + +`Promise`\<[`Post`](../../models/classes/Post.md)\> + +A Promise that resolves to a Post object. + +*** + + + +### getPostData() + +> **getPostData**(`id`): `Promise`\<`undefined` \| `JsonObject`\> + +Returns PostData, if any, for the post specified by ID. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +#### Returns + +`Promise`\<`undefined` \| `JsonObject`\> + +*** + + + +### getPostFlairTemplates() + +> **getPostFlairTemplates**(`subredditName`): `Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)[]\> + +Get the list of post flair templates for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the post flair templates for. + +#### Returns + +`Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)[]\> + +A Promise that resolves with an array of FlairTemplate objects. + +*** + + + +### getPostsByUser() + +> **getPostsByUser**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of posts from a specific user. + +#### Parameters + +##### options + +[`GetPostsByUserOptions`](../../models/type-aliases/GetPostsByUserOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +*** + + + +### getPostStyles() + +> **getPostStyles**(`id`): `Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +**`Experimental`** + +Get the custom styles for a custom post. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +The ID of the post to get styles for. + +#### Returns + +`Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +*** + + + +### getReports() + +#### Call Signature + +> **getReports**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getRisingPosts() + +> **getRisingPosts**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of hot posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptions`](../../models/type-aliases/GetPostsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getRisingPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getRules() + +> **getRules**(`subredditName`): `Promise`\<[`Rule`](../../models/classes/Rule.md)[]\> + +Get the rules for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the rules for. + +#### Returns + +`Promise`\<[`Rule`](../../models/classes/Rule.md)[]\> + +An array of Rule objects. + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(`username`): `Promise`\<`undefined` \| `string`\> + +Get the snoovatar URL for a given username. + +#### Parameters + +##### username + +`string` + +The username of the snoovatar to retrieve + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +A Promise that resolves to a URL of the snoovatar image if it exists. + +*** + + + +### getSpam() + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### ~~getSubredditById()~~ + +> **getSubredditById**(`id`): `Promise`\<`undefined` \| [`Subreddit`](../../models/classes/Subreddit.md)\> + +Gets a [Subreddit](../../models/classes/Subreddit.md) object by ID + +#### Parameters + +##### id + +`` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +#### Returns + +`Promise`\<`undefined` \| [`Subreddit`](../../models/classes/Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Deprecated + +Use [getSubredditInfoById](../../models/functions/getSubredditInfoById.md) instead. + +#### Example + +```ts +const memes = await reddit.getSubredditById('t5_2qjpg'); +``` + +*** + + + +### ~~getSubredditByName()~~ + +> **getSubredditByName**(`name`): `Promise`\<[`Subreddit`](../../models/classes/Subreddit.md)\> + +Gets a [Subreddit](../../models/classes/Subreddit.md) object by name + +#### Parameters + +##### name + +`string` + +The name of a subreddit omitting the r/. This is case insensitive. + +#### Returns + +`Promise`\<[`Subreddit`](../../models/classes/Subreddit.md)\> + +A Promise that resolves a Subreddit object. + +#### Deprecated + +Use [getSubredditInfoByName](../../models/functions/getSubredditInfoByName.md) instead. + +#### Example + +```ts +const askReddit = await reddit.getSubredditByName('askReddit'); +``` + +*** + + + +### getSubredditInfoById() + +> **getSubredditInfoById**(`id`): `Promise`\<[`SubredditInfo`](../../models/type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../../models/type-aliases/SubredditInfo.md) object by ID + +#### Parameters + +##### id + +`` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +#### Returns + +`Promise`\<[`SubredditInfo`](../../models/type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. + +#### Example + +```ts +const memes = await reddit.getSubredditInfoById('t5_2qjpg'); +``` + +*** + + + +### getSubredditInfoByName() + +> **getSubredditInfoByName**(`name`): `Promise`\<[`SubredditInfo`](../../models/type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../../models/type-aliases/SubredditInfo.md) object by name + +#### Parameters + +##### name + +`string` + +The name of a subreddit omitting the r/. This is case insensitive. + +#### Returns + +`Promise`\<[`SubredditInfo`](../../models/type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. + +#### Example + +```ts +const askReddit = await reddit.getSubredditInfoByName('askReddit'); +``` + +*** + + + +### getSubredditLeaderboard() + +> **getSubredditLeaderboard**(`subredditId`): `Promise`\<[`SubredditLeaderboard`](../../models/type-aliases/SubredditLeaderboard.md)\> + +Returns a leaderboard for a given subreddit ID. + +#### Parameters + +##### subredditId + +`` `t5_${string}` `` + +ID of the subreddit for which the leaderboard is being queried. + +#### Returns + +`Promise`\<[`SubredditLeaderboard`](../../models/type-aliases/SubredditLeaderboard.md)\> + +Leaderboard for the given subreddit. + +*** + + + +### getSubredditRemovalReasons() + +> **getSubredditRemovalReasons**(`subredditName`): `Promise`\<[`RemovalReason`](../../models/type-aliases/RemovalReason.md)[]\> + +Get the list of subreddit's removal reasons (ordered). + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +#### Returns + +`Promise`\<[`RemovalReason`](../../models/type-aliases/RemovalReason.md)[]\> + +Ordered array of Removal Reasons + +#### Example + +```ts +const reasons = await reddit.getSubredditRemovalReasons('askReddit'); + +for (let reason of reasons) { + console.log(reason.id, reason.message, reason.title) +} +``` + +*** + + + +### getSubredditStyles() + +> **getSubredditStyles**(`subredditId`): `Promise`\<[`SubredditStyles`](../../models/type-aliases/SubredditStyles.md)\> + +Returns the styles for a given subreddit ID. + +#### Parameters + +##### subredditId + +`` `t5_${string}` `` + +ID of the subreddit from which to retrieve the styles. + +#### Returns + +`Promise`\<[`SubredditStyles`](../../models/type-aliases/SubredditStyles.md)\> + +Styles for the given subreddit. + +*** + + + +### getSubscribedSubredditsForCurrentUser() + +> **getSubscribedSubredditsForCurrentUser**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Subreddit`](../../models/classes/Subreddit.md)\> + +Returns a listing of subreddits that the current user is subscribed to. +This method will execute as the app account by default. +To execute this on behalf of a user, please contact Reddit. + +#### Parameters + +##### options + +[`GetSubscribedSubredditsForCurrentUserOptions`](../../models/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Subreddit`](../../models/classes/Subreddit.md)\> + +*** + + + +### getTopPosts() + +> **getTopPosts**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Get a list of controversial posts from a specific subreddit. + +#### Parameters + +##### options + +[`GetPostsOptionsWithTimeframe`](../../models/type-aliases/GetPostsOptionsWithTimeframe.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +A Listing of Post objects. + +#### Example + +```ts +const posts = await reddit.getControversialPosts({ + subredditName: 'memes', + timeframe: 'day', + limit: 1000, + pageSize: 100 +}).all(); +``` + +*** + + + +### getUnmoderated() + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"comment"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"post"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +[`ModLogOptions`](../../models/type-aliases/ModLogOptions.md)\<`"all"`\> + +##### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`Comment`](../../models/classes/Comment.md) \| [`Post`](../../models/classes/Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getUserById() + +> **getUserById**(`id`): `Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +Gets a [User](../../models/classes/User.md) object by ID + +#### Parameters + +##### id + +`` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. e.g. t2_1qjpg + +#### Returns + +`Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +A Promise that resolves to a User object. + +#### Example + +```ts +const user = await reddit.getUserById('t2_1qjpg'); +``` + +*** + + + +### getUserByUsername() + +> **getUserByUsername**(`username`): `Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +Gets a [User](../../models/classes/User.md) object by username + +#### Parameters + +##### username + +`string` + +The username of the user omitting the u/. e.g. 'devvit' + +#### Returns + +`Promise`\<`undefined` \| [`User`](../../models/classes/User.md)\> + +A Promise that resolves to a User object or undefined if user is + not found (user doesn't exist, account suspended, etc). + +#### Example + +```ts +const user = await reddit.getUserByUsername('devvit'); +if (user) { + console.log(user) +} +``` + +*** + + + +### getUserFlairTemplates() + +> **getUserFlairTemplates**(`subredditName`): `Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)[]\> + +Get the list of user flair templates for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the user flair templates for. + +#### Returns + +`Promise`\<[`FlairTemplate`](../../models/classes/FlairTemplate.md)[]\> + +A Promise that resolves with an array of FlairTemplate objects. + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(`username`): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for a given user in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Parameters + +##### username + +`string` + +The username of the user to get the karma for. e.g. 'spez' + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for posts and comments in the subreddit. + +*** + + + +### getVaultByAddress() + +> **getVaultByAddress**(`address`): `Promise`\<[`Vault`](../../models/type-aliases/Vault.md)\> + +Gets a [Vault](../../models/type-aliases/Vault.md) for the specified address. + +#### Parameters + +##### address + +`string` + +The address (starting with 0x) of the Vault. + +#### Returns + +`Promise`\<[`Vault`](../../models/type-aliases/Vault.md)\> + +#### Example + +```ts +const vault = await reddit.getVaultByAddress('0x205ee28744456bDBf180A0Fa7De51e0F116d54Ed'); +``` + +*** + + + +### getVaultByUserId() + +> **getVaultByUserId**(`userId`): `Promise`\<[`Vault`](../../models/type-aliases/Vault.md)\> + +Gets a [Vault](../../models/type-aliases/Vault.md) for the specified user. + +#### Parameters + +##### userId + +`` `t2_${string}` `` + +The ID (starting with t2_) of the Vault owner. + +#### Returns + +`Promise`\<[`Vault`](../../models/type-aliases/Vault.md)\> + +#### Example + +```ts +const vault = await reddit.getVaultByUserId('t2_1w72'); +``` + +*** + + + +### getWidgets() + +> **getWidgets**(`subredditName`): `Promise`\<[`Widget`](../../models/classes/Widget.md)[]\> + +Get the widgets for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the widgets for. + +#### Returns + +`Promise`\<[`Widget`](../../models/classes/Widget.md)[]\> + +- An array of Widget objects. + +*** + + + +### getWikiContributors() + +> **getWikiContributors**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`SubredditWikiContributorUser`](../../models/classes/SubredditWikiContributorUser.md)\> + +Get a list of users who are wiki contributors of a subreddit. + +#### Parameters + +##### options + +`GetSubredditUsersOptions` + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`SubredditWikiContributorUser`](../../models/classes/SubredditWikiContributorUser.md)\> + +A Listing of SubredditWikiContributorUser objects. + +*** + + + +### getWikiPage() + +> **getWikiPage**(`subredditName`, `page`, `revisionId`?): `Promise`\<[`WikiPage`](../../models/classes/WikiPage.md)\> + +Get a wiki page from a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the wiki page from. + +##### page + +`string` + +The name of the wiki page to get. + +##### revisionId? + +`` `${string}-${string}-${string}-${string}-${string}` `` + +The revision ID of the wiki page version to get. Setting this value will return the wiki page +version at that revision, and leaving it empty will return the latest version. + +#### Returns + +`Promise`\<[`WikiPage`](../../models/classes/WikiPage.md)\> + +The requested WikiPage object. + +*** + + + +### getWikiPageRevisions() + +> **getWikiPageRevisions**(`options`): [`Listing`](../../models/classes/Listing.md)\<[`WikiPageRevision`](../../models/classes/WikiPageRevision.md)\> + +Get the revisions for a wiki page. + +#### Parameters + +##### options + +[`GetPageRevisionsOptions`](../../models/type-aliases/GetPageRevisionsOptions.md) + +Options for the request + +#### Returns + +[`Listing`](../../models/classes/Listing.md)\<[`WikiPageRevision`](../../models/classes/WikiPageRevision.md)\> + +A Listing of WikiPageRevision objects. + +*** + + + +### getWikiPages() + +> **getWikiPages**(`subredditName`): `Promise`\<`string`[]\> + +Get the wiki pages for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to get the wiki pages from. + +#### Returns + +`Promise`\<`string`[]\> + +A list of the wiki page names for the subreddit. + +*** + + + +### getWikiPageSettings() + +> **getWikiPageSettings**(`subredditName`, `page`): `Promise`\<[`WikiPageSettings`](../../models/classes/WikiPageSettings.md)\> + +Get the settings for a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to get the settings for. + +#### Returns + +`Promise`\<[`WikiPageSettings`](../../models/classes/WikiPageSettings.md)\> + +A WikiPageSettings object. + +*** + + + +### inviteModerator() + +> **inviteModerator**(`options`): `Promise`\<`void`\> + +Invite a user to become a moderator of a subreddit. + +#### Parameters + +##### options + +[`InviteModeratorOptions`](../type-aliases/InviteModeratorOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### markAllMessagesAsRead() + +> **markAllMessagesAsRead**(): `Promise`\<`void`\> + +Mark all private messages as read. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### mergePostData() + +> **mergePostData**(`postId`, `postData`): `Promise`\<`void`\> + +Merge the postData on a custom post with the postData specified in the input. This performs a shallow merge. + +#### Parameters + +##### postId + +`` `t3_${string}` `` + +##### postData + +`JsonObject` + +Represents the postData to be merged with the existing postData. + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be merged. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { currentScore: 55, settings: { theme: 'dark', fontSize: 12 } } + +await post.mergePostData({ settings: { fontSize: 14 } }); +// Result: { currentScore: 55, settings: { fontSize: 14 } } +``` + +*** + + + +### muteUser() + +> **muteUser**(`options`): `Promise`\<`void`\> + +Mute a user in a subreddit. Muting a user prevents them from sending modmail. + +#### Parameters + +##### options + +[`MuteUserOptions`](../type-aliases/MuteUserOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### remove() + +> **remove**(`id`, `isSpam`): `Promise`\<`void`\> + +Remove a post or comment. + +#### Parameters + +##### id + +The id of the post (t3_) or comment (t1_) to remove. + +`` `t1_${string}` `` | `` `t3_${string}` `` + +##### isSpam + +`boolean` + +Is the post or comment being removed because it's spam? + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.remove('t3_123456', false); +await reddit.remove('t1_123456', true); +``` + +*** + + + +### removeEditorFromWikiPage() + +> **removeEditorFromWikiPage**(`subredditName`, `page`, `username`): `Promise`\<`void`\> + +Remove an editor from a wiki page. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to remove the editor from. + +##### username + +`string` + +The username of the user to remove as an editor. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeModerator() + +> **removeModerator**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user as a moderator of a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove as a moderator. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user as a moderator from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removePostFlair() + +> **removePostFlair**(`subredditName`, `postId`): `Promise`\<`void`\> + +Remove the flair for a post in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to remove the flair from. + +##### postId + +`` `t3_${string}` `` + +The ID of the post to remove the flair from. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeUser() + +> **removeUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user's approval to post in a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove approval from. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user's approval from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeUserFlair() + +> **removeUserFlair**(`subredditName`, `username`): `Promise`\<`void`\> + +Remove the flair for a user in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to remove the flair from. + +##### username + +`string` + +The username of the user to remove the flair from. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeWikiContributor() + +> **removeWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +Remove a user's wiki contributor status for a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to remove wiki contributor status from. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to remove the user's wiki contributor status from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reorderRules() + +> **reorderRules**(`subredditName`, `rules`): `Promise`\<`void`\> + +Reorder the rules in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to reorder the rules for. + +##### rules + +[`Rule`](../../models/classes/Rule.md)[] + +Array of Rule objects in the desired order (order is determined by array position). + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reorderWidgets() + +> **reorderWidgets**(`subredditName`, `orderByIds`): `Promise`\<`void`\> + +Reorder the widgets for a subreddit. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to reorder the widgets for. + +##### orderByIds + +`string`[] + +An array of widget IDs in the order that they should be displayed. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### report() + +> **report**(`thing`, `options`): `Promise`\<`JsonStatus`\> + +Report a Post or Comment + +The report is sent to the moderators of the subreddit for review. + +#### Parameters + +##### thing + +Post or Comment + +[`Comment`](../../models/classes/Comment.md) | [`Post`](../../models/classes/Post.md) + +##### options + +Options + +###### reason + +`string` + +Why the thing is reported + +#### Returns + +`Promise`\<`JsonStatus`\> + +#### Example + +```ts +await reddit.report(post, { + reason: 'This is spam!', +}) +``` + +*** + + + +### revertWikiPage() + +> **revertWikiPage**(`subredditName`, `page`, `revisionId`): `Promise`\<`void`\> + +Revert a wiki page to a previous revision. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit the wiki is in. + +##### page + +`string` + +The name of the wiki page to revert. + +##### revisionId + +`string` + +The ID of the revision to revert to. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### revokeModeratorInvite() + +> **revokeModeratorInvite**(`username`, `subredditName`): `Promise`\<`void`\> + +Revoke a moderator invite for a user to a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to revoke the invite for. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to revoke the invite for. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### sendPrivateMessage() + +> **sendPrivateMessage**(`options`): `Promise`\<`void`\> + +Sends a private message to a user. + +#### Parameters + +##### options + +[`SendPrivateMessageOptions`](../../models/type-aliases/SendPrivateMessageOptions.md) + +The options for sending the message. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the private message was successfully sent. + +*** + + + +### ~~sendPrivateMessageAsSubreddit()~~ + +> **sendPrivateMessageAsSubreddit**(`options`): `Promise`\<`void`\> + +Sends a private message to a user on behalf of a subreddit. + +#### Parameters + +##### options + +[`SendPrivateMessageAsSubredditOptions`](../../models/type-aliases/SendPrivateMessageAsSubredditOptions.md) + +The options for sending the message as a subreddit. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the private message was successfully sent. + +#### Deprecated + +No longer working as expected. Use modMail.createConversation with `isAuthorHidden: true` instead + +*** + + + +### setModeratorPermissions() + +> **setModeratorPermissions**(`username`, `subredditName`, `permissions`): `Promise`\<`void`\> + +Update the permissions of a moderator of a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to update the permissions for. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit. e.g. 'memes' + +##### permissions + +[`ModeratorPermission`](../../models/type-aliases/ModeratorPermission.md)[] + +The permissions to give the user. e.g ['posts', 'wiki'] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setPostData() + +> **setPostData**(`postId`, `postData`): `Promise`\<`void`\> + +Set the postData for a custom post. This will replace the existing postData with the postData specified in the input. + +#### Parameters + +##### postId + +`` `t3_${string}` `` + +The ID of the post to set the postData for. + +##### postData + +`JsonObject` + +Represents the postData to be set, eg: { currentScore: 55, secretWord: 'barbeque' } + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { settings: { theme: 'dark', fontSize: 12 } } + +await post.setPostData({ + currentScore: 55, + secretWord: 'barbeque', +}); +// Result: { currentScore: 55, secretWord: 'barbeque' } +``` + +*** + + + +### setPostFlair() + +> **setPostFlair**(`options`): `Promise`\<`void`\> + +Set the flair for a post in a subreddit. + +#### Parameters + +##### options + +[`SetPostFlairOptions`](../../models/type-aliases/SetPostFlairOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setPostStyles() + +> **setPostStyles**(`id`, `styles`): `Promise`\<`void`\> + +**`Experimental`** + +Set the custom styles for a custom post. + +#### Parameters + +##### id + +`` `t3_${string}` `` + +The ID of the post to set styles for. + +##### styles + +The styles to set for the post. If a value isn't specified, its previous value + will be preserved. If `undefined` is passed, all styles will be removed and reset to defaults. + +`undefined` | `CustomPostStylesInput` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setUserFlair() + +> **setUserFlair**(`options`): `Promise`\<`void`\> + +Set the flair for a user in a subreddit. + +#### Parameters + +##### options + +[`SetUserFlairOptions`](../../models/type-aliases/SetUserFlairOptions.md) + +Options for the request + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setUserFlairBatch() + +> **setUserFlairBatch**(`subredditName`, `flairs`): `Promise`\<`FlairCsvResult`[]\> + +Set the flair of multiple users in the same subreddit with a single API call. +Can process up to 100 entries at once. + +#### Parameters + +##### subredditName + +`string` + +The name of the subreddit to edit flairs in. + +##### flairs + +[`SetUserFlairBatchConfig`](../../models/type-aliases/SetUserFlairBatchConfig.md)[] + +Array of user flair configuration objects. If both text and cssClass are empty for a given user the flair will be cleared. + +#### Returns + +`Promise`\<`FlairCsvResult`[]\> + +- Array of statuses for each entry provided. + +*** + + + +### submitComment() + +> **submitComment**(`options`): `Promise`\<[`Comment`](../../models/classes/Comment.md)\> + +Submit a new comment to a post or comment. + +#### Parameters + +##### options + +[`CommentSubmissionOptions`](../../models/type-aliases/CommentSubmissionOptions.md) & `object` + +You must provide either `options.text` or `options.richtext` but not both. + +#### Returns + +`Promise`\<[`Comment`](../../models/classes/Comment.md)\> + +A Promise that resolves to a Comment object. + +#### Example + +```ts +const comment = await reddit.submitComment({ + id: 't1_1qgif', + text: 'Hello world!', + runAs: 'APP', +}) +``` + +*** + + + +### submitCustomPost() + +> **submitCustomPost**(`opts`): `Promise`\<[`Post`](../../models/classes/Post.md)\> + +Submits a new custom post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../../models/type-aliases/SubredditOptions.md) & [`CommonSubmitPostOptions`](../../models/type-aliases/CommonSubmitPostOptions.md) & `object`\> + +#### Returns + +`Promise`\<[`Post`](../../models/classes/Post.md)\> + +#### Examples + +```ts +const post = await reddit.submitCustomPost({ + subredditName: 'devvit', + title: 'Hello World', +}); +``` + +By default, `submitCustomPost()` creates a Post on behalf of the App account, but it may be called on behalf of the User making the request by setting the option `runAs: 'USER'`. +When using `runAs: 'USER'` to create an experience Post, you must specify the `userGeneratedContent` option. For example: + +```ts +const post = await reddit.submitCustomPost({ + title: 'My Devvit Post', + runAs: 'USER', + userGeneratedContent: { + text: "hello there", + imageUrls: ["https://styles.redditmedia.com/t5_5wa5ww/styles/communityIcon_wyopomb2xb0a1.png", "https://styles.redditmedia.com/t5_49fkib/styles/bannerBackgroundImage_5a4axis7cku61.png"] + }, + subredditName: context.subredditName, + textFallback: { + text: 'This is a Devvit post!', + }, +}); +``` + +#### See + + - [()\|submitPost()](#submitpost) + - [()\|crosspost()](#crosspost) + +*** + + + +### submitPost() + +> **submitPost**(`opts`): `Promise`\<[`Post`](../../models/classes/Post.md)\> + +Submits a new post to a subreddit. + +#### Parameters + +##### opts + +`Readonly`\<[`SubredditOptions`](../../models/type-aliases/SubredditOptions.md) & [`SubmitPostOptions`](../../models/type-aliases/SubmitPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](../../models/classes/Post.md)\> + +#### Example + +```ts +const post = await reddit.submitPost({ + subredditName: 'devvit', + title: 'Hello World', + richtext: new RichTextBuilder() + .heading({ level: 1 }, (h) => { + h.rawText('Hello world'); + }) + .codeBlock({}, (cb) => cb.rawText('This post was created via the Devvit API')) + .build() +}); +``` + +#### See + + - [()\|submitCustomPost()](#submitcustompost) + - [()\|crosspost()](#crosspost) + +*** + + + +### subscribeToCurrentSubreddit() + +> **subscribeToCurrentSubreddit**(): `Promise`\<`void`\> + +Subscribes to the subreddit in which the app is installed. No-op if the user is already subscribed. +This method will run as user by default. Therefore, you must include SUBSCRIBE_TO_SUBREDDIT +in `permissions.reddit.asUser` in your devvit.json file. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unbanUser() + +> **unbanUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Unban a user from a subreddit. + +#### Parameters + +##### username + +`string` + +The username of the user to unban. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unban the user from. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unbanWikiContributor() + +> **unbanWikiContributor**(`username`, `subredditName`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +The username of the user to unban. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unban the user from contributing to the wiki on. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmuteUser() + +> **unmuteUser**(`username`, `subredditName`): `Promise`\<`void`\> + +Unmute a user in a subreddit. Unmuting a user allows them to send modmail. + +#### Parameters + +##### username + +`string` + +The username of the user to unmute. e.g. 'spez' + +##### subredditName + +`string` + +The name of the subreddit to unmute the user in. e.g. 'memes' + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsubscribeFromCurrentSubreddit() + +> **unsubscribeFromCurrentSubreddit**(): `Promise`\<`void`\> + +Unsubscribes from the subreddit in which the app is installed. No-op if the user isn't subscribed. +This method will execute as the app account by default. +To unsubscribe on behalf of a user, please contact Reddit. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateSubredditRemovalReason() + +> **updateSubredditRemovalReason**(`subredditName`, `reasonId`, `options`): `Promise`\<`void`\> + +Update an existing removal reason in a subreddit. + +#### Parameters + +##### subredditName + +`string` + +Name of the subreddit (the 'r/' prefix is optional). + +##### reasonId + +`string` + +ID of the removal reason (from get or add). + +##### options + +Options. + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.updateSubredditRemovalReason('askReddit', 'uuid-abc', { + title: 'Spam', + message: 'This post was removed for spam.' +}); +``` + +*** + + + +### updateWidget() + +> **updateWidget**(`widgetData`): `Promise`\<[`Widget`](../../models/classes/Widget.md)\> + +Update a widget for a subreddit. + +#### Parameters + +##### widgetData + +[`UpdateWidgetData`](../../models/type-aliases/UpdateWidgetData.md) + +The data for the widget to update. + +#### Returns + +`Promise`\<[`Widget`](../../models/classes/Widget.md)\> + +- The updated Widget object. + +*** + + + +### updateWikiPage() + +> **updateWikiPage**(`options`): `Promise`\<[`WikiPage`](../../models/classes/WikiPage.md)\> + +Update a wiki page. + +#### Parameters + +##### options + +[`UpdateWikiPageOptions`](../../models/type-aliases/UpdateWikiPageOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPage`](../../models/classes/WikiPage.md)\> + +The updated WikiPage object. + +*** + + + +### updateWikiPageSettings() + +> **updateWikiPageSettings**(`options`): `Promise`\<[`WikiPageSettings`](../../models/classes/WikiPageSettings.md)\> + +Update the settings for a wiki page. + +#### Parameters + +##### options + +[`UpdatePageSettingsOptions`](../../models/type-aliases/UpdatePageSettingsOptions.md) + +Options for the request + +#### Returns + +`Promise`\<[`WikiPageSettings`](../../models/classes/WikiPageSettings.md)\> + +A WikiPageSettings object. diff --git a/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/CustomPostStyles.md b/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/CustomPostStyles.md new file mode 100644 index 00000000..15b07cdd --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/CustomPostStyles.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CustomPostStyles + +> **CustomPostStyles** = `StrictRequired`\<`CustomPostStylesInput`\> diff --git a/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/InviteModeratorOptions.md b/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/InviteModeratorOptions.md new file mode 100644 index 00000000..5a472c91 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/InviteModeratorOptions.md @@ -0,0 +1,37 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: InviteModeratorOptions + +> **InviteModeratorOptions** = `object` + +## Properties + + + +### permissions? + +> `optional` **permissions**: [`ModeratorPermission`](../../models/type-aliases/ModeratorPermission.md)[] + +The permissions to grant the user + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit to invite the user to moderate + +*** + + + +### username + +> **username**: `string` + +The name of the user to invite as a moderator diff --git a/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/MuteUserOptions.md b/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/MuteUserOptions.md new file mode 100644 index 00000000..154dc391 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/RedditClient/type-aliases/MuteUserOptions.md @@ -0,0 +1,37 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: MuteUserOptions + +> **MuteUserOptions** = `object` + +## Properties + + + +### note? + +> `optional` **note**: `string` + +A mod note on why the user was muted. (optional) + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit to mute the user in + +*** + + + +### username + +> **username**: `string` + +The name of the user to mute diff --git a/versioned_docs/version-0.14/api/redditapi/models/README.md b/versioned_docs/version-0.14/api/redditapi/models/README.md new file mode 100644 index 00000000..d7af7bb9 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/README.md @@ -0,0 +1,197 @@ +[**@devvit/reddit v0.14.0-dev**](../README.md) + +*** + +# models + +## Enumerations + +- [AboutLocations](enumerations/AboutLocations.md) +- [FlairType](enumerations/FlairType.md) +- [ModMailActionType](enumerations/ModMailActionType.md) +- [ModMailConversationState](enumerations/ModMailConversationState.md) +- [SocialLinkType](enumerations/SocialLinkType.md) +- [WikiPagePermissionLevel](enumerations/WikiPagePermissionLevel.md) + +## Classes + +- [AuthorFlairSettings](classes/AuthorFlairSettings.md) +- [ButtonWidget](classes/ButtonWidget.md) +- [CalendarWidget](classes/CalendarWidget.md) +- [Comment](classes/Comment.md) +- [CommunityListWidget](classes/CommunityListWidget.md) +- [CustomWidget](classes/CustomWidget.md) +- [Flair](classes/Flair.md) +- [FlairTemplate](classes/FlairTemplate.md) +- [ImageWidget](classes/ImageWidget.md) +- [Listing](classes/Listing.md) +- [ModMailService](classes/ModMailService.md) +- [ModNote](classes/ModNote.md) +- [Post](classes/Post.md) +- [PostFlairSettings](classes/PostFlairSettings.md) +- [PostFlairWidget](classes/PostFlairWidget.md) +- [PrivateMessage](classes/PrivateMessage.md) +- [Rule](classes/Rule.md) +- [Subreddit](classes/Subreddit.md) +- [SubredditBannedUser](classes/SubredditBannedUser.md) +- [SubredditContributorUser](classes/SubredditContributorUser.md) +- [SubredditDescription](classes/SubredditDescription.md) +- [SubredditModeratorUser](classes/SubredditModeratorUser.md) +- [SubredditMutedUser](classes/SubredditMutedUser.md) +- [SubredditRulesWidget](classes/SubredditRulesWidget.md) +- [SubredditWikiBannedUser](classes/SubredditWikiBannedUser.md) +- [SubredditWikiContributorUser](classes/SubredditWikiContributorUser.md) +- [SubredditWikiSettings](classes/SubredditWikiSettings.md) +- [TextAreaWidget](classes/TextAreaWidget.md) +- [User](classes/User.md) +- [Widget](classes/Widget.md) +- [WikiPage](classes/WikiPage.md) +- [WikiPageRevision](classes/WikiPageRevision.md) +- [WikiPageSettings](classes/WikiPageSettings.md) + +## Interfaces + +- [ModAction](interfaces/ModAction.md) + +## Type Aliases + +- [AboutSubredditTypes](type-aliases/AboutSubredditTypes.md) +- [AddRemovalNoteOptions](type-aliases/AddRemovalNoteOptions.md) +- [AddWidgetData](type-aliases/AddWidgetData.md) +- [AllowableFlairContent](type-aliases/AllowableFlairContent.md) +- [BackgroundImagePosition](type-aliases/BackgroundImagePosition.md) +- [BannerHeight](type-aliases/BannerHeight.md) +- [BanUserOptions](type-aliases/BanUserOptions.md) +- [BanWikiContributorOptions](type-aliases/BanWikiContributorOptions.md) +- [CommentMediaTypes](type-aliases/CommentMediaTypes.md) +- [CommentSort](type-aliases/CommentSort.md) +- [CommentSubmissionOptions](type-aliases/CommentSubmissionOptions.md) +- [CommonFlair](type-aliases/CommonFlair.md) +- [CommonSubmitPostOptions](type-aliases/CommonSubmitPostOptions.md) +- [CommunityNameFormat](type-aliases/CommunityNameFormat.md) +- [ConversationData](type-aliases/ConversationData.md) +- [ConversationResponse](type-aliases/ConversationResponse.md) +- [ConversationStateFilter](type-aliases/ConversationStateFilter.md) +- [ConversationUserData](type-aliases/ConversationUserData.md) +- [CreateFlairTemplateOptions](type-aliases/CreateFlairTemplateOptions.md) +- [CreateModNoteOptions](type-aliases/CreateModNoteOptions.md) +- [CreateRelationshipOptions](type-aliases/CreateRelationshipOptions.md) +- [CreateRuleOptions](type-aliases/CreateRuleOptions.md) +- [CreateWikiPageOptions](type-aliases/CreateWikiPageOptions.md) +- [CrosspostOptions](type-aliases/CrosspostOptions.md) +- [CrowdControlLevel](type-aliases/CrowdControlLevel.md) +- [CustomizationFlag](type-aliases/CustomizationFlag.md) +- [CustomPostRichTextFallback](type-aliases/CustomPostRichTextFallback.md) +- [CustomPostTextFallbackOptions](type-aliases/CustomPostTextFallbackOptions.md) +- [DeleteNotesOptions](type-aliases/DeleteNotesOptions.md) +- [EditCommentOptions](type-aliases/EditCommentOptions.md) +- [EditFlairTemplateOptions](type-aliases/EditFlairTemplateOptions.md) +- [EnrichedThumbnail](type-aliases/EnrichedThumbnail.md) +- [FlairBackgroundColor](type-aliases/FlairBackgroundColor.md) +- [FlairSettings](type-aliases/FlairSettings.md) +- [FlairTextColor](type-aliases/FlairTextColor.md) +- [GalleryMedia](type-aliases/GalleryMedia.md) +- [GalleryMediaStatus](type-aliases/GalleryMediaStatus.md) +- [GetBestPostsOptions](type-aliases/GetBestPostsOptions.md) +- [GetCommentsByUserOptions](type-aliases/GetCommentsByUserOptions.md) +- [GetCommentsOptions](type-aliases/GetCommentsOptions.md) +- [GetConversationResponse](type-aliases/GetConversationResponse.md) +- [GetConversationsRequest](type-aliases/GetConversationsRequest.md) +- [GetConversationsResponse](type-aliases/GetConversationsResponse.md) +- [GetDuplicatesOptions](type-aliases/GetDuplicatesOptions.md) +- [GetHotPostsOptions](type-aliases/GetHotPostsOptions.md) +- [GetModerationLogOptions](type-aliases/GetModerationLogOptions.md) +- [GetModNotesOptions](type-aliases/GetModNotesOptions.md) +- [GetPageRevisionsOptions](type-aliases/GetPageRevisionsOptions.md) +- [GetPostsByUserOptions](type-aliases/GetPostsByUserOptions.md) +- [GetPostsOptions](type-aliases/GetPostsOptions.md) +- [GetPostsOptionsWithTimeframe](type-aliases/GetPostsOptionsWithTimeframe.md) +- [GetPrivateMessagesOptions](type-aliases/GetPrivateMessagesOptions.md) +- [GetSortedPostsOptions](type-aliases/GetSortedPostsOptions.md) +- [GetSubredditUsersByTypeOptions](type-aliases/GetSubredditUsersByTypeOptions.md) +- [GetSubscribedSubredditsForCurrentUserOptions](type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) +- [GetUserFlairBySubredditOptions](type-aliases/GetUserFlairBySubredditOptions.md) +- [GetUserFlairBySubredditResponse](type-aliases/GetUserFlairBySubredditResponse.md) +- [GetUserFlairOptions](type-aliases/GetUserFlairOptions.md) +- [GetUserOverviewOptions](type-aliases/GetUserOverviewOptions.md) +- [ImagePosition](type-aliases/ImagePosition.md) +- [InternalSetPostFlairOptions](type-aliases/InternalSetPostFlairOptions.md) +- [~~LinkFlair~~](type-aliases/LinkFlair.md) +- [ListingFetchOptions](type-aliases/ListingFetchOptions.md) +- [ListingFetchResponse](type-aliases/ListingFetchResponse.md) +- [MenuPosition](type-aliases/MenuPosition.md) +- [MessageData](type-aliases/MessageData.md) +- [ModActionData](type-aliases/ModActionData.md) +- [ModActionTarget](type-aliases/ModActionTarget.md) +- [ModActionType](type-aliases/ModActionType.md) +- [ModeratorPermission](type-aliases/ModeratorPermission.md) +- [ModeratorReport](type-aliases/ModeratorReport.md) +- [ModLogOptions](type-aliases/ModLogOptions.md) +- [ModNoteType](type-aliases/ModNoteType.md) +- [MoreObject](type-aliases/MoreObject.md) +- [Oembed](type-aliases/Oembed.md) +- [Participant](type-aliases/Participant.md) +- [PollData](type-aliases/PollData.md) +- [PollOption](type-aliases/PollOption.md) +- [PositionedImagePosition](type-aliases/PositionedImagePosition.md) +- [PostCapabilities](type-aliases/PostCapabilities.md) +- [PostSuggestedCommentSort](type-aliases/PostSuggestedCommentSort.md) +- [PostTextOptions](type-aliases/PostTextOptions.md) +- [PostType](type-aliases/PostType.md) +- [RedditVideo](type-aliases/RedditVideo.md) +- [RelationshipType](type-aliases/RelationshipType.md) +- [RemovalReason](type-aliases/RemovalReason.md) +- [RemoveRelationshipOptions](type-aliases/RemoveRelationshipOptions.md) +- [ReplyToCommentOptions](type-aliases/ReplyToCommentOptions.md) +- [SecureMedia](type-aliases/SecureMedia.md) +- [SendPrivateMessageAsSubredditOptions](type-aliases/SendPrivateMessageAsSubredditOptions.md) +- [SendPrivateMessageOptions](type-aliases/SendPrivateMessageOptions.md) +- [SetFlairOptions](type-aliases/SetFlairOptions.md) +- [SetPostFlairOptions](type-aliases/SetPostFlairOptions.md) +- [SetUserFlairBatchConfig](type-aliases/SetUserFlairBatchConfig.md) +- [SetUserFlairOptions](type-aliases/SetUserFlairOptions.md) +- [SubmitCustomPostOptions](type-aliases/SubmitCustomPostOptions.md) +- [SubmitLinkOptions](type-aliases/SubmitLinkOptions.md) +- [SubmitMediaOptions](type-aliases/SubmitMediaOptions.md) +- [SubmitPostOptions](type-aliases/SubmitPostOptions.md) +- [SubmitSelfPostOptions](type-aliases/SubmitSelfPostOptions.md) +- [SubredditData](type-aliases/SubredditData.md) +- [SubredditInfo](type-aliases/SubredditInfo.md) +- [SubredditLeaderboard](type-aliases/SubredditLeaderboard.md) +- [SubredditLeaderboardSummary](type-aliases/SubredditLeaderboardSummary.md) +- [SubredditLeaderboardSummaryRow](type-aliases/SubredditLeaderboardSummaryRow.md) +- [SubredditOptions](type-aliases/SubredditOptions.md) +- [SubredditSettings](type-aliases/SubredditSettings.md) +- [SubredditSettingsOptions](type-aliases/SubredditSettingsOptions.md) +- [SubredditStyles](type-aliases/SubredditStyles.md) +- [SubredditType](type-aliases/SubredditType.md) +- [Trophy](type-aliases/Trophy.md) +- [UnreadCountResponse](type-aliases/UnreadCountResponse.md) +- [UpdatePageSettingsOptions](type-aliases/UpdatePageSettingsOptions.md) +- [UpdateRuleOptions](type-aliases/UpdateRuleOptions.md) +- [UpdateWidgetData](type-aliases/UpdateWidgetData.md) +- [UpdateWikiPageOptions](type-aliases/UpdateWikiPageOptions.md) +- [UserFlair](type-aliases/UserFlair.md) +- [UserFlairPageOptions](type-aliases/UserFlairPageOptions.md) +- [UserNote](type-aliases/UserNote.md) +- [UserNoteLabel](type-aliases/UserNoteLabel.md) +- [UserSocialLink](type-aliases/UserSocialLink.md) +- [Vault](type-aliases/Vault.md) +- [Visibility](type-aliases/Visibility.md) +- [WikiEditMode](type-aliases/WikiEditMode.md) +- [WikiPageRevisionId](type-aliases/WikiPageRevisionId.md) +- [WithUserData](type-aliases/WithUserData.md) + +## Variables + +- [GalleryMediaStatus](variables/GalleryMediaStatus.md) + +## Functions + +- [getModerationLog](functions/getModerationLog.md) +- [getSubredditInfoById](functions/getSubredditInfoById.md) +- [getSubredditInfoByName](functions/getSubredditInfoByName.md) +- [getSubredditLeaderboard](functions/getSubredditLeaderboard.md) +- [getSubredditStyles](functions/getSubredditStyles.md) +- [getVaultByAddress](functions/getVaultByAddress.md) +- [getVaultByUserId](functions/getVaultByUserId.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/AuthorFlairSettings.md b/versioned_docs/version-0.14/api/redditapi/models/classes/AuthorFlairSettings.md new file mode 100644 index 00000000..f6ec50ab --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/AuthorFlairSettings.md @@ -0,0 +1,33 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: AuthorFlairSettings + +## Constructors + + + +### new AuthorFlairSettings() + +> **new AuthorFlairSettings**(): `AuthorFlairSettings` + +#### Returns + +`AuthorFlairSettings` + +## Properties + + + +### isEnabled? + +> `optional` **isEnabled**: `boolean` + +*** + + + +### isSelfAssignabled? + +> `optional` **isSelfAssignabled**: `boolean` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/ButtonWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/ButtonWidget.md new file mode 100644 index 00000000..4ef03678 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/ButtonWidget.md @@ -0,0 +1,163 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: ButtonWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new ButtonWidget() + +> **new ButtonWidget**(`widgetData`, `subredditName`): `ButtonWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`ButtonWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### buttons + +#### Get Signature + +> **get** **buttons**(): `WidgetButton`[] + +##### Returns + +`WidgetButton`[] + +*** + + + +### description + +#### Get Signature + +> **get** **description**(): `string` + +##### Returns + +`string` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`ButtonWidget`, `"description"` \| `"styles"` \| `"buttons"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`ButtonWidget`, `"description"` \| `"styles"` \| `"buttons"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/CalendarWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/CalendarWidget.md new file mode 100644 index 00000000..dddd5fb1 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/CalendarWidget.md @@ -0,0 +1,163 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: CalendarWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new CalendarWidget() + +> **new CalendarWidget**(`widgetData`, `subredditName`): `CalendarWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`CalendarWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### configuration + +#### Get Signature + +> **get** **configuration**(): `CalendarWidgetConfiguration` + +##### Returns + +`CalendarWidgetConfiguration` + +*** + + + +### googleCalendarId + +#### Get Signature + +> **get** **googleCalendarId**(): `string` + +##### Returns + +`string` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`CalendarWidget`, `"styles"` \| `"googleCalendarId"` \| `"configuration"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`CalendarWidget`, `"styles"` \| `"googleCalendarId"` \| `"configuration"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Comment.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Comment.md new file mode 100644 index 00000000..1c657d8f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Comment.md @@ -0,0 +1,823 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Comment + +## Accessors + + + +### approved + +#### Get Signature + +> **get** **approved**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### approvedAtUtc + +#### Get Signature + +> **get** **approvedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### authorFlair + +#### Get Signature + +> **get** **authorFlair**(): `undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +##### Returns + +`undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +*** + + + +### authorId + +#### Get Signature + +> **get** **authorId**(): `undefined` \| `` `t2_${string}` `` + +##### Returns + +`undefined` \| `` `t2_${string}` `` + +*** + + + +### authorName + +#### Get Signature + +> **get** **authorName**(): `string` + +##### Returns + +`string` + +*** + + + +### bannedAtUtc + +#### Get Signature + +> **get** **bannedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### body + +#### Get Signature + +> **get** **body**(): `string` + +##### Returns + +`string` + +*** + + + +### collapsedBecauseCrowdControl + +#### Get Signature + +> **get** **collapsedBecauseCrowdControl**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +##### Returns + +`Date` + +*** + + + +### distinguishedBy + +#### Get Signature + +> **get** **distinguishedBy**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### edited + +#### Get Signature + +> **get** **edited**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t1_${string}` `` + +##### Returns + +`` `t1_${string}` `` + +*** + + + +### ignoringReports + +#### Get Signature + +> **get** **ignoringReports**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### locked + +#### Get Signature + +> **get** **locked**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### modReportReasons + +#### Get Signature + +> **get** **modReportReasons**(): `string`[] + +##### Deprecated + +Use [modReports](#modreports) to retain each report's author. + +##### Returns + +`string`[] + +*** + + + +### modReports + +#### Get Signature + +> **get** **modReports**(): [`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +##### Returns + +[`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +*** + + + +### numReports + +#### Get Signature + +> **get** **numReports**(): `number` + +##### Returns + +`number` + +*** + + + +### parentId + +#### Get Signature + +> **get** **parentId**(): `` `t1_${string}` `` \| `` `t3_${string}` `` + +##### Returns + +`` `t1_${string}` `` \| `` `t3_${string}` `` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +##### Returns + +`string` + +*** + + + +### postId + +#### Get Signature + +> **get** **postId**(): `` `t3_${string}` `` + +##### Returns + +`` `t3_${string}` `` + +*** + + + +### removed + +#### Get Signature + +> **get** **removed**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### replies + +#### Get Signature + +> **get** **replies**(): [`Listing`](Listing.md)\<`Comment`\> + +##### Returns + +[`Listing`](Listing.md)\<`Comment`\> + +*** + + + +### score + +#### Get Signature + +> **get** **score**(): `number` + +##### Returns + +`number` + +*** + + + +### spam + +#### Get Signature + +> **get** **spam**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### stickied + +#### Get Signature + +> **get** **stickied**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### subredditId + +#### Get Signature + +> **get** **subredditId**(): `` `t5_${string}` `` + +##### Returns + +`` `t5_${string}` `` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +##### Returns + +`string` + +*** + + + +### userReportReasons + +#### Get Signature + +> **get** **userReportReasons**(): `string`[] + +##### Returns + +`string`[] + +## Methods + + + +### addRemovalNote() + +> **addRemovalNote**(`opts`): `Promise`\<`void`\> + +Add a mod note for why the comment was removed + +#### Parameters + +##### opts + +###### modNote? + +`string` + +###### reasonId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approve() + +> **approve**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguish() + +> **distinguish**(`makeSticky`): `Promise`\<`void`\> + +#### Parameters + +##### makeSticky + +`boolean` = `false` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguishAsAdmin() + +> **distinguishAsAdmin**(`makeSticky`): `Promise`\<`void`\> + +#### Parameters + +##### makeSticky + +`boolean` = `false` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### edit() + +> **edit**(`opts`): `Promise`\<`Comment`\> + +#### Parameters + +##### opts + +`Readonly`\<[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md)\> + +#### Returns + +`Promise`\<`Comment`\> + +*** + + + +### filter() + +> **filter**(`options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters the comment. When a comment is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the comment was filtered successfully. + +*** + + + +### getAuthor() + +> **getAuthor**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +*** + + + +### ignoreReports() + +> **ignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### isApproved() + +> **isApproved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isDistinguished() + +> **isDistinguished**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isEdited() + +> **isEdited**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isIgnoringReports() + +> **isIgnoringReports**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isLocked() + +> **isLocked**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isRemoved() + +> **isRemoved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isSpam() + +> **isSpam**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isStickied() + +> **isStickied**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### lock() + +> **lock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### remove() + +> **remove**(`isSpam`): `Promise`\<`void`\> + +#### Parameters + +##### isSpam + +`boolean` = `false` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reply() + +> **reply**(`opts`): `Promise`\<`Comment`\> + +#### Parameters + +##### opts + +`Readonly`\<[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md)\> + +#### Returns + +`Promise`\<`Comment`\> + +*** + + + +### showComment() + +> **showComment**(): `Promise`\<`void`\> + +Marks that this comment should not be collapsed by the crowd control system. +It can still be collapsed for other reasons. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### snoozeReports() + +> **snoozeReports**(`reason`): `Promise`\<`void`\> + +Snooze subsequent reports with the given reason from the same users for the next 7 days. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to snooze. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Comment`, `"id"` \| `"subredditName"` \| `"postId"` \| `"body"` \| `"permalink"` \| `"createdAt"` \| `"url"` \| `"authorName"` \| `"subredditId"` \| `"score"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"edited"` \| `"locked"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"authorFlair"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"parentId"` \| `"replies"` \| `"numReports"` \| `"collapsedBecauseCrowdControl"`\> + +#### Returns + +`Pick`\<`Comment`, `"id"` \| `"subredditName"` \| `"postId"` \| `"body"` \| `"permalink"` \| `"createdAt"` \| `"url"` \| `"authorName"` \| `"subredditId"` \| `"score"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"edited"` \| `"locked"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"authorFlair"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"parentId"` \| `"replies"` \| `"numReports"` \| `"collapsedBecauseCrowdControl"`\> + +*** + + + +### undistinguish() + +> **undistinguish**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unignoreReports() + +> **unignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unlock() + +> **unlock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsnoozeReports() + +> **unsnoozeReports**(`reason`): `Promise`\<`void`\> + +Unsnooze reports with the given reason. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to unsnooze. + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/CommunityListWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/CommunityListWidget.md new file mode 100644 index 00000000..a42fd40f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/CommunityListWidget.md @@ -0,0 +1,149 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: CommunityListWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new CommunityListWidget() + +> **new CommunityListWidget**(`widgetData`, `subredditName`): `CommunityListWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`CommunityListWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### communities + +#### Get Signature + +> **get** **communities**(): `CommunityListWidget_CommunityData`[] + +##### Returns + +`CommunityListWidget_CommunityData`[] + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`CommunityListWidget`, `"styles"` \| `"communities"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`CommunityListWidget`, `"styles"` \| `"communities"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/CustomWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/CustomWidget.md new file mode 100644 index 00000000..b14eee08 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/CustomWidget.md @@ -0,0 +1,191 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: CustomWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new CustomWidget() + +> **new CustomWidget**(`widgetData`, `subredditName`): `CustomWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`CustomWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### css + +#### Get Signature + +> **get** **css**(): `string` + +##### Returns + +`string` + +*** + + + +### height + +#### Get Signature + +> **get** **height**(): `number` + +##### Returns + +`number` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### images + +#### Get Signature + +> **get** **images**(): `WidgetImage`[] + +##### Returns + +`WidgetImage`[] + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### stylesheetUrl + +#### Get Signature + +> **get** **stylesheetUrl**(): `string` + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +*** + + + +### text + +#### Get Signature + +> **get** **text**(): `string` + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`CustomWidget`, `"text"` \| `"height"` \| `"images"` \| `"stylesheetUrl"` \| `"css"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`CustomWidget`, `"text"` \| `"height"` \| `"images"` \| `"stylesheetUrl"` \| `"css"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Flair.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Flair.md new file mode 100644 index 00000000..23e90fa1 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Flair.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Flair + +## Constructors + + + +### new Flair() + +> **new Flair**(): `Flair` + +#### Returns + +`Flair` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/FlairTemplate.md b/versioned_docs/version-0.14/api/redditapi/models/classes/FlairTemplate.md new file mode 100644 index 00000000..e3fe4ab7 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/FlairTemplate.md @@ -0,0 +1,167 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: FlairTemplate + +## Accessors + + + +### allowableContent + +#### Get Signature + +> **get** **allowableContent**(): [`AllowableFlairContent`](../type-aliases/AllowableFlairContent.md) + +The flair template's allowable content. Either 'all', 'emoji', or 'text'. + +##### Returns + +[`AllowableFlairContent`](../type-aliases/AllowableFlairContent.md) + +*** + + + +### allowUserEdits + +#### Get Signature + +> **get** **allowUserEdits**(): `boolean` + +Does the flair template allow users to edit their flair? + +##### Returns + +`boolean` + +*** + + + +### backgroundColor + +#### Get Signature + +> **get** **backgroundColor**(): [`FlairBackgroundColor`](../type-aliases/FlairBackgroundColor.md) + +The flair template's background color. Either 'transparent' or a hex color code. e.g. #FFC0CB + +##### Returns + +[`FlairBackgroundColor`](../type-aliases/FlairBackgroundColor.md) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +The flair template's ID + +##### Returns + +`string` + +*** + + + +### maxEmojis + +#### Get Signature + +> **get** **maxEmojis**(): `number` + +The flair template's maximum number of emojis. + +##### Returns + +`number` + +*** + + + +### modOnly + +#### Get Signature + +> **get** **modOnly**(): `boolean` + +Is the flair template only available to moderators? + +##### Returns + +`boolean` + +*** + + + +### text + +#### Get Signature + +> **get** **text**(): `string` + +The flair template's text + +##### Returns + +`string` + +*** + + + +### textColor + +#### Get Signature + +> **get** **textColor**(): [`FlairTextColor`](../type-aliases/FlairTextColor.md) + +The flair template's text color. Either 'dark' or 'light'. + +##### Returns + +[`FlairTextColor`](../type-aliases/FlairTextColor.md) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +Delete this flair template + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### edit() + +> **edit**(`options`): `Promise`\<`FlairTemplate`\> + +Edit this flair template + +#### Parameters + +##### options + +`Partial`\<`Omit`\<[`EditFlairTemplateOptions`](../type-aliases/EditFlairTemplateOptions.md), `"id"` \| `"subredditName"`\>\> + +#### Returns + +`Promise`\<`FlairTemplate`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/ImageWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/ImageWidget.md new file mode 100644 index 00000000..1cd96646 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/ImageWidget.md @@ -0,0 +1,135 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: ImageWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new ImageWidget() + +> **new ImageWidget**(`widgetData`, `subredditName`): `ImageWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`ImageWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### images + +#### Get Signature + +> **get** **images**(): `WidgetImage`[] + +##### Returns + +`WidgetImage`[] + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`ImageWidget`, `"images"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`ImageWidget`, `"images"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Listing.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Listing.md new file mode 100644 index 00000000..6da2a649 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Listing.md @@ -0,0 +1,113 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Listing\ + +## Type Parameters + +### T + +`T` + +## Properties + + + +### limit + +> **limit**: `number` = `DEFAULT_LIMIT` + +*** + + + +### pageSize + +> **pageSize**: `number` = `DEFAULT_PAGE_SIZE` + +## Accessors + + + +### hasMore + +#### Get Signature + +> **get** **hasMore**(): `boolean` + +##### Returns + +`boolean` + +## Methods + + + +### \[asyncIterator\]() + +> **\[asyncIterator\]**(): `AsyncIterator`\<`T`\> + +#### Returns + +`AsyncIterator`\<`T`\> + +*** + + + +### all() + +> **all**(): `Promise`\<`T`[]\> + +#### Returns + +`Promise`\<`T`[]\> + +*** + + + +### get() + +> **get**(`count`): `Promise`\<`T`[]\> + +#### Parameters + +##### count + +`number` + +#### Returns + +`Promise`\<`T`[]\> + +*** + + + +### preventInitialFetch() + +> **preventInitialFetch**(): `void` + +#### Returns + +`void` + +*** + + + +### setMore() + +> **setMore**(`more`): `void` + +#### Parameters + +##### more + +`undefined` | [`MoreObject`](../type-aliases/MoreObject.md) + +#### Returns + +`void` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/ModMailService.md b/versioned_docs/version-0.14/api/redditapi/models/classes/ModMailService.md new file mode 100644 index 00000000..3a66e2ac --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/ModMailService.md @@ -0,0 +1,826 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: ModMailService + +Class providing the methods for working with Mod Mail + +## Properties + + + +### notificationSubjectPrefix + +> `readonly` **notificationSubjectPrefix**: `"[notification]"` = `'[notification]'` + +## Methods + + + +### approveConversation() + +> **approveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Approve the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.approveConversation('abcdef'); +``` + +*** + + + +### archiveConversation() + +> **archiveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Marks a conversation as archived + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.archive('abcdef'); +``` + +*** + + + +### bulkReadConversations() + +> **bulkReadConversations**(`subreddits`, `state`): `Promise`\<`string`[]\> + +Marks all conversations read for a particular conversation state within the passed list of subreddits. + +#### Parameters + +##### subreddits + +`string`[] + +Array of subreddit names + +##### state + +[`ConversationStateFilter`](../type-aliases/ConversationStateFilter.md) + +One of the possible conversation states ('all' to read all conversations) + +#### Returns + +`Promise`\<`string`[]\> + +conversationIds + +#### Example + +```ts +const conversationIds = await reddit.modMail.bulkReadConversations( + ['askReddit', 'myAwesomeSubreddit'], + 'filtered' +); +``` + +*** + + + +### createConversation() + +> **createConversation**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Creates a new conversation for a particular SR. + +This endpoint will create a ModmailConversation object +as well as the first ModmailMessage within the ModmailConversation object. + +#### Parameters + +##### params + +###### body + +`string` + +markdown text + +###### isAuthorHidden? + +`boolean` + +is author hidden? (default: false) + +###### subject + +`string` + +subject of the conversation. max 100 characters + +###### subredditName + +`string` + +subreddit name + +###### to? + +`null` \| `string` + +a user (e.g. u/username), a subreddit (e.g. r/subreddit) or null + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Note + +Note on {param.to}: +The to field for this endpoint is somewhat confusing. It can be: +- A User, passed like "username" or "u/username" +- A Subreddit, passed like "r/subreddit" +- null, meaning an internal moderator discussion + +In this way to is a bit of a misnomer in modmail conversations. +What it really means is the participant of the conversation who is not a mod of the subreddit. + +If you plan to send a message to the app-account or a moderator of the subreddit, use [ModMailService.createModDiscussionConversation](#createmoddiscussionconversation), [ModMailService.createModInboxConversation](#createmodinboxconversation), or [ModMailService.createModNotification](#createmodnotification) instead. +Otherwise, messages sent to the app-account or moderator will automatically be routed to Mod Discussions. + +#### Example + +```ts +const { conversation, messages, modActions } = await reddit.modMail.createConversation({ + subredditName: 'askReddit', + subject: 'Test conversation', + body: 'Lorem ipsum sit amet', + to: null, +}); +``` + +*** + + + +### createModDiscussionConversation() + +> **createModDiscussionConversation**(`params`): `Promise`\<`string`\> + +Creates a conversation in Mod Discussions with the moderators of the given subredditId. + +Note: The app must be installed in the subreddit in order to create a conversation in Mod Discussions. + +#### Parameters + +##### params + +###### bodyMarkdown + +`string` + +The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`. + +###### subject + +`string` + +The subject of the message. + +###### subredditId + +`` `t5_${string}` `` + +The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the conversationId of the message. + +#### Example + +```ts +const conversationId = await reddit.modMail.createModDiscussionConversation({ + subject: 'Test conversation', + bodyMarkdown: '**Hello there** \n\n _Have a great day!_', + subredditId: context.subredditId +}); +``` + +*** + + + +### createModInboxConversation() + +> **createModInboxConversation**(`params`): `Promise`\<`string`\> + +Creates a conversation in the Modmail Inbox with the moderators of the given subredditId. + +#### Parameters + +##### params + +###### bodyMarkdown + +`string` + +The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`. + +###### subject + +`string` + +The subject of the message. + +###### subredditId + +`` `t5_${string}` `` + +The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the conversationId of the message. + +#### Example + +```ts +const conversationId = await reddit.modMail.createModInboxConversation({ + subject: 'Test conversation', + bodyMarkdown: '**Hello there** \n\n _Have a great day!_', + subredditId: context.subredditId +}); +``` + +*** + + + +### createModNotification() + +> **createModNotification**(`params`): `Promise`\<`string`\> + +Creates a notification in the Modmail Inbox. +This function is different from [ModMailService.createModInboxConversation](#createmodinboxconversation) in that the conversation also appears in the "Notifications" section of Modmail. + +#### Parameters + +##### params + +###### bodyMarkdown + +`string` + +The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`. + +###### subject + +`string` + +The subject of the message. + +###### subredditId + +`` `t5_${string}` `` + +The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`. + +#### Returns + +`Promise`\<`string`\> + +A Promise that resolves a string representing the conversationId of the message. + +#### Example + +```ts +const conversationId = await reddit.modMail.createModNotification({ + subject: 'Test notification', + bodyMarkdown: '**Hello there** \n\n _This is a notification!_', + subredditId: context.subredditId +}); +``` + +*** + + + +### disapproveConversation() + +> **disapproveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Disapprove the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.disapproveConversation('abcdef'); +``` + +*** + + + +### getConversation() + +> **getConversation**(`params`): `Promise`\<[`GetConversationResponse`](../type-aliases/GetConversationResponse.md)\> + +Returns all messages, mod actions and conversation metadata for a given conversation id + +#### Parameters + +##### params + +###### conversationId + +`string` + +a modmail conversation id + +###### markRead? + +`boolean` + +mark read? + +#### Returns + +`Promise`\<[`GetConversationResponse`](../type-aliases/GetConversationResponse.md)\> + +#### Example + +```ts +const { conversation, messages, modActions, user } = await reddit.modMail.getConversation({ conversationId: 'abcdef', markRead: true }); +``` + +*** + + + +### getConversations() + +> **getConversations**(`params`): `Promise`\<[`GetConversationsResponse`](../type-aliases/GetConversationsResponse.md)\> + +Get conversations for a logged in user or subreddits + +#### Parameters + +##### params + +[`GetConversationsRequest`](../type-aliases/GetConversationsRequest.md) + +#### Returns + +`Promise`\<[`GetConversationsResponse`](../type-aliases/GetConversationsResponse.md)\> + +#### Example + +```ts +const {viewerId, conversations} = await reddit.modMail.getConversations({ + after: 'abcdef', + limit: 42 +}); + +const arrayOfConversations = Object.values(conversations); +``` + +*** + + + +### getSubreddits() + +> **getSubreddits**(): `Promise`\<\{\}\> + +Returns a list of Subreddits that the user moderates with mail permission + +#### Returns + +`Promise`\<\{\}\> + +#### Example + +```ts +const subredditsData = await reddit.modMail.getSubreddits(); + +for (const subreddit of Object.values(subreddits)) { + console.log(subreddit.id); + console.log(subreddit.name); +} +``` + +*** + + + +### getUnreadCount() + +> **getUnreadCount**(): `Promise`\<[`UnreadCountResponse`](../type-aliases/UnreadCountResponse.md)\> + +Endpoint to retrieve the unread conversation count by conversation state. + +#### Returns + +`Promise`\<[`UnreadCountResponse`](../type-aliases/UnreadCountResponse.md)\> + +#### Example + +```ts +const response = await reddit.modMail.getUnreadCount(); + +console.log(response.highlighted); +console.log(response.new); +``` + +*** + + + +### getUserConversations() + +> **getUserConversations**(`conversationId`): `Promise`\<[`ConversationUserData`](../type-aliases/ConversationUserData.md)\> + +Returns recent posts, comments and modmail conversations for a given user. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationUserData`](../type-aliases/ConversationUserData.md)\> + +#### Example + +```ts +const data = await reddit.modMail.getUserConversations('abcdef'); + +console.log(data.recentComments); +console.log(data.recentPosts); +``` + +*** + + + +### highlightConversation() + +> **highlightConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Marks a conversation as highlighted. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.highlightConversation('abcdef'); +``` + +*** + + + +### muteConversation() + +> **muteConversation**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Marks a conversation as read for the user. + +#### Parameters + +##### params + +###### conversationId + +`string` + +Id of a modmail conversation + +###### numHours + +`72` \| `168` \| `672` + +For how many hours the conversation needs to be muted. Must be one of 72, 168, or 672 hours + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.muteConversation({ conversationId: 'abcdef', numHours: 72 }); +``` + +*** + + + +### readConversations() + +> **readConversations**(`conversationIds`): `Promise`\<`void`\> + +Marks a conversations as read for the user. + +#### Parameters + +##### conversationIds + +`string`[] + +An array of ids + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.modMail.readConversations(['abcdef', 'qwerty']); +``` + +*** + + + +### reply() + +> **reply**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Creates a new message for a particular conversation. + +#### Parameters + +##### params + +###### body + +`string` + +markdown text + +###### conversationId + +`string` + +Id of a modmail conversation + +###### isAuthorHidden? + +`boolean` + +is author hidden? (default: false) + +###### isInternal? + +`boolean` + +is internal message? (default: false) + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.reply({ + body: 'Lorem ipsum sit amet', + conversationId: 'abcdef', +}); +``` + +*** + + + +### tempBanConversation() + +> **tempBanConversation**(`params`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Temporary ban (switch from permanent to temporary ban) the non mod user associated with a particular conversation. + +#### Parameters + +##### params + +###### conversationId + +`string` + +a modmail conversation id + +###### duration + +`number` + +duration in days, max 999 + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.tempBanConversation({ conversationId: 'abcdef', duration: 42 }); +``` + +*** + + + +### unarchiveConversation() + +> **unarchiveConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Marks conversation as unarchived. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.unarchiveConversation('abcdef'); +``` + +*** + + + +### unbanConversation() + +> **unbanConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Unban the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +a modmail conversation id + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.unbanConversation('abcdef'); +``` + +*** + + + +### unhighlightConversation() + +> **unhighlightConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +Removes a highlight from a conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md)\> + +#### Example + +```ts +await reddit.modMail.unhighlightConversation('abcdef'); +``` + +*** + + + +### unmuteConversation() + +> **unmuteConversation**(`conversationId`): `Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +Unmutes the non mod user associated with a particular conversation. + +#### Parameters + +##### conversationId + +`string` + +Id of a modmail conversation + +#### Returns + +`Promise`\<[`ConversationResponse`](../type-aliases/ConversationResponse.md) & [`WithUserData`](../type-aliases/WithUserData.md)\> + +#### Example + +```ts +await reddit.modMail.unmuteConversation('abcdef'); +``` + +*** + + + +### unreadConversations() + +> **unreadConversations**(`conversationIds`): `Promise`\<`void`\> + +Marks conversations as unread for the user. + +#### Parameters + +##### conversationIds + +`string`[] + +An array of ids + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +await reddit.modMail.unreadConversations(['abcdef', 'qwerty']); +``` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/ModNote.md b/versioned_docs/version-0.14/api/redditapi/models/classes/ModNote.md new file mode 100644 index 00000000..edc0cf04 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/ModNote.md @@ -0,0 +1,93 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: ModNote + +## Properties + + + +### createdAt + +> **createdAt**: `Date` + +*** + + + +### id + +> **id**: `string` + +*** + + + +### modAction? + +> `optional` **modAction**: [`ModAction`](../interfaces/ModAction.md) + +*** + + + +### operator + +> **operator**: `object` + +#### id? + +> `optional` **id**: `` `t2_${string}` `` + +#### name? + +> `optional` **name**: `string` + +*** + + + +### subreddit + +> **subreddit**: `object` + +#### id? + +> `optional` **id**: `` `t5_${string}` `` + +#### name? + +> `optional` **name**: `string` + +*** + + + +### type + +> **type**: [`ModNoteType`](../type-aliases/ModNoteType.md) + +*** + + + +### user + +> **user**: `object` + +#### id? + +> `optional` **id**: `` `t2_${string}` `` + +#### name? + +> `optional` **name**: `string` + +*** + + + +### userNote? + +> `optional` **userNote**: [`UserNote`](../type-aliases/UserNote.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Post.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Post.md new file mode 100644 index 00000000..7a0a31ef --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Post.md @@ -0,0 +1,1470 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Post + +## Accessors + + + +### approved + +#### Get Signature + +> **get** **approved**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### approvedAtUtc + +#### Get Signature + +> **get** **approvedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### archived + +#### Get Signature + +> **get** **archived**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### authorFlair + +#### Get Signature + +> **get** **authorFlair**(): `undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +##### Returns + +`undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +*** + + + +### authorId + +#### Get Signature + +> **get** **authorId**(): `undefined` \| `` `t2_${string}` `` + +##### Returns + +`undefined` \| `` `t2_${string}` `` + +*** + + + +### authorName + +#### Get Signature + +> **get** **authorName**(): `string` + +##### Returns + +`string` + +*** + + + +### bannedAtUtc + +#### Get Signature + +> **get** **bannedAtUtc**(): `number` + +##### Returns + +`number` + +*** + + + +### body + +#### Get Signature + +> **get** **body**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### bodyHtml + +#### Get Signature + +> **get** **bodyHtml**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### comments + +#### Get Signature + +> **get** **comments**(): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +##### Returns + +`Date` + +*** + + + +### crosspostParentId + +#### Get Signature + +> **get** **crosspostParentId**(): `undefined` \| `` `t3_${string}` `` + +The ID of the original post this was crossposted from. Undefined if this post is not a crosspost. + +##### Returns + +`undefined` \| `` `t3_${string}` `` + +*** + + + +### distinguishedBy + +#### Get Signature + +> **get** **distinguishedBy**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### edited + +#### Get Signature + +> **get** **edited**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### flair + +#### Get Signature + +> **get** **flair**(): `undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +##### Returns + +`undefined` \| [`CommonFlair`](../type-aliases/CommonFlair.md) + +*** + + + +### gallery + +#### Get Signature + +> **get** **gallery**(): [`GalleryMedia`](../type-aliases/GalleryMedia.md)[] + +Get the media in the post. Empty if the post doesn't have any media. + +##### Returns + +[`GalleryMedia`](../type-aliases/GalleryMedia.md)[] + +*** + + + +### hidden + +#### Get Signature + +> **get** **hidden**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t3_${string}` `` + +##### Returns + +`` `t3_${string}` `` + +*** + + + +### ignoringReports + +#### Get Signature + +> **get** **ignoringReports**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### locked + +#### Get Signature + +> **get** **locked**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### modReportReasons + +#### Get Signature + +> **get** **modReportReasons**(): `string`[] + +##### Deprecated + +Use [modReports](#modreports) to retain each report's author. + +##### Returns + +`string`[] + +*** + + + +### modReports + +#### Get Signature + +> **get** **modReports**(): [`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +##### Returns + +[`ModeratorReport`](../type-aliases/ModeratorReport.md)[] + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### numberOfComments + +#### Get Signature + +> **get** **numberOfComments**(): `number` + +##### Returns + +`number` + +*** + + + +### numberOfReports + +#### Get Signature + +> **get** **numberOfReports**(): `number` + +##### Returns + +`number` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +##### Returns + +`string` + +*** + + + +### pollData + +#### Get Signature + +> **get** **pollData**(): `undefined` \| [`PollData`](../type-aliases/PollData.md) + +Poll data for the post, if the post is a poll. Undefined otherwise. + +##### Returns + +`undefined` \| [`PollData`](../type-aliases/PollData.md) + +*** + + + +### quarantined + +#### Get Signature + +> **get** **quarantined**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### removed + +#### Get Signature + +> **get** **removed**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### removedBy + +#### Get Signature + +> **get** **removedBy**(): `undefined` \| `string` + +Who removed this object (username) + +##### Returns + +`undefined` \| `string` + +*** + + + +### removedByCategory + +#### Get Signature + +> **get** **removedByCategory**(): `undefined` \| `string` + +who/what removed this object. It will return one of the following: +- "anti_evil_ops": object is removed by a aeops member +- "author": object is removed by author of the post +- "automod_filtered": object is filtered by automod +- "community_ops": object is removed by a community team member +- "content_takedown": object is removed due to content violation +- "copyright_takedown": object is removed due to copyright violation +- "deleted": object is deleted +- "moderator": object is removed by a mod of the sub +- "reddit": object is removed by anyone else +- undefined: object is not removed + +##### Returns + +`undefined` \| `string` + +*** + + + +### score + +#### Get Signature + +> **get** **score**(): `number` + +##### Returns + +`number` + +*** + + + +### secureMedia + +#### Get Signature + +> **get** **secureMedia**(): `undefined` \| [`SecureMedia`](../type-aliases/SecureMedia.md) + +##### Returns + +`undefined` \| [`SecureMedia`](../type-aliases/SecureMedia.md) + +*** + + + +### spam + +#### Get Signature + +> **get** **spam**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### spoiler + +#### Get Signature + +> **get** **spoiler**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### stickied + +#### Get Signature + +> **get** **stickied**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### subredditId + +#### Get Signature + +> **get** **subredditId**(): `` `t5_${string}` `` + +##### Returns + +`` `t5_${string}` `` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +*** + + + +### thumbnail + +#### Get Signature + +> **get** **thumbnail**(): `undefined` \| \{ `height`: `number`; `url`: `string`; `width`: `number`; \} + +##### Returns + +`undefined` \| \{ `height`: `number`; `url`: `string`; `width`: `number`; \} + +*** + + + +### title + +#### Get Signature + +> **get** **title**(): `string` + +##### Returns + +`string` + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +##### Returns + +`string` + +*** + + + +### userReportReasons + +#### Get Signature + +> **get** **userReportReasons**(): `string`[] + +##### Returns + +`string`[] + +## Methods + + + +### addComment() + +> **addComment**(`opts`): `Promise`\<[`Comment`](Comment.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`CommentSubmissionOptions`](../type-aliases/CommentSubmissionOptions.md)\> + +#### Returns + +`Promise`\<[`Comment`](Comment.md)\> + +*** + + + +### addRemovalNote() + +> **addRemovalNote**(`opts`): `Promise`\<`void`\> + +Add a mod note for why the post was removed + +#### Parameters + +##### opts + +###### modNote? + +`string` + +###### reasonId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approve() + +> **approve**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### crosspost() + +> **crosspost**(`opts`): `Promise`\<`Post`\> + +#### Parameters + +##### opts + +`Readonly`\<`Omit`\<[`CrosspostOptions`](../type-aliases/CrosspostOptions.md), `"postId"`\>\> + +#### Returns + +`Promise`\<`Post`\> + +*** + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguish() + +> **distinguish**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### distinguishAsAdmin() + +> **distinguishAsAdmin**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### edit() + +> **edit**(`opts`): `Promise`\<`void`\> + +#### Parameters + +##### opts + +`Readonly`\<[`PostTextOptions`](../type-aliases/PostTextOptions.md)\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### filter() + +> **filter**(`options`?): `Promise`\<`void`\> + +**`Experimental`** + +Filters a post. When a post is filtered, it is added to the ModQueue for review, and in addition: +- if + +#### Parameters + +##### options? + +`FilterOptions` + +The options for this filter action. + +#### Returns + +`Promise`\<`void`\> + +A Promise that resolves if the post was filtered successfully. + +*** + + + +### getAuthor() + +> **getAuthor**(): `Promise`\<`undefined` \| [`User`](User.md)\> + +#### Returns + +`Promise`\<`undefined` \| [`User`](User.md)\> + +*** + + + +### getCurrentUserPollOption() + +> **getCurrentUserPollOption**(): `Promise`\<`undefined` \| [`PollOption`](../type-aliases/PollOption.md)\> + +Get the poll option the authenticated user selected for this post. +Returns undefined if the post is not a poll or the user has not voted. + +This method will get the poll option for the app account by default. +To get the poll option for a user, please contact Reddit. + +#### Returns + +`Promise`\<`undefined` \| [`PollOption`](../type-aliases/PollOption.md)\> + +*** + + + +### getCustomPostStyles() + +> **getCustomPostStyles**(): `Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +**`Experimental`** + +Get the custom styles for a custom post. + +#### Returns + +`Promise`\<`StrictRequired`\<`CustomPostStylesInput`\>\> + +*** + + + +### getDuplicates() + +> **getDuplicates**(`opts`): [`Listing`](Listing.md)\<`Post`\> + +#### Parameters + +##### opts + +`Omit`\<[`GetDuplicatesOptions`](../type-aliases/GetDuplicatesOptions.md), `"postId"`\> = `{}` + +#### Returns + +[`Listing`](Listing.md)\<`Post`\> + +*** + + + +### getEnrichedThumbnail() + +> **getEnrichedThumbnail**(): `Promise`\<`undefined` \| [`EnrichedThumbnail`](../type-aliases/EnrichedThumbnail.md)\> + +Get a thumbnail that contains a preview image and also contains a blurred preview for +NSFW images. The thumbnail returned has higher resolution than Post.thumbnail. +Returns undefined if the post doesn't have a thumbnail + +#### Returns + +`Promise`\<`undefined` \| [`EnrichedThumbnail`](../type-aliases/EnrichedThumbnail.md)\> + +#### Throws + +Throws an error if the thumbnail could not be fetched + +#### Example + +```ts +// from a menu action, form, scheduler, trigger, custom post click event, etc +const post = await context.reddit.getPostById(context.postId); +const enrichedThumbnail = await post.getEnrichedThumbnail(); +``` + +*** + + + +### getPostData() + +> **getPostData**(): `Promise`\<`undefined` \| `JsonObject`\> + +Get the postData for the custom post. + +#### Returns + +`Promise`\<`undefined` \| `JsonObject`\> + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); +const postData = await post.getPostData(); +``` + +*** + + + +### hide() + +> **hide**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### ignoreReports() + +> **ignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### isApproved() + +> **isApproved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isArchived() + +> **isArchived**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isDistinguishedBy() + +> **isDistinguishedBy**(): `undefined` \| `string` + +#### Returns + +`undefined` \| `string` + +*** + + + +### isEdited() + +> **isEdited**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isHidden() + +> **isHidden**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isIgnoringReports() + +> **isIgnoringReports**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isLocked() + +> **isLocked**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isNsfw() + +> **isNsfw**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isQuarantined() + +> **isQuarantined**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isRemoved() + +> **isRemoved**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isSpam() + +> **isSpam**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isSpoiler() + +> **isSpoiler**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### isStickied() + +> **isStickied**(): `boolean` + +#### Returns + +`boolean` + +*** + + + +### lock() + +> **lock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### markAsNsfw() + +> **markAsNsfw**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### markAsSpoiler() + +> **markAsSpoiler**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### mergePostData() + +> **mergePostData**(`postData`): `Promise`\<`void`\> + +Merge the postData on a custom post with the postData specified in the input. This performs a shallow merge. + +#### Parameters + +##### postData + +`JsonObject` + +Represents the postData to be merged with the existing postData. + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be merged. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { currentScore: 55, settings: { theme: 'dark', fontSize: 12 } } + +await post.mergePostData({ settings: { fontSize: 14 } }); +// Result: { currentScore: 55, settings: { fontSize: 14 } } +``` + +*** + + + +### remove() + +> **remove**(`isSpam`): `Promise`\<`void`\> + +#### Parameters + +##### isSpam + +`boolean` = `false` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setCustomPostStyles() + +> **setCustomPostStyles**(`styles`): `Promise`\<`void`\> + +**`Experimental`** + +Set the custom styles for a custom post. + +#### Parameters + +##### styles + +The styles to set for the post. If a value isn't specified, its previous value + will be preserved. If `undefined` is passed, all custom styles will be removed. + +`undefined` | `CustomPostStylesInput` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setPostData() + +> **setPostData**(`postData`): `Promise`\<`void`\> + +Set the postData for the custom post. This will replace the existing +postData with the postData specified in the input. + +#### Parameters + +##### postData + +`JsonObject` + +Represents the postData to be set, eg: { currentScore: 55, secretWord: 'barbeque' } + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the postData could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); + +// Existing postData: { settings: { theme: 'dark', fontSize: 12 } } + +await post.setPostData({ + currentScore: 55, + secretWord: 'barbeque', +}); +// Result: { currentScore: 55, secretWord: 'barbeque' } +``` + +*** + + + +### setSuggestedCommentSort() + +> **setSuggestedCommentSort**(`suggestedSort`): `Promise`\<`void`\> + +Set the suggested sort for comments on a Post. + +#### Parameters + +##### suggestedSort + +[`PostSuggestedCommentSort`](../type-aliases/PostSuggestedCommentSort.md) + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the suggested sort could not be set. + +#### Example + +```ts +const post = await reddit.getPostById(context.postId); +await post.setSuggestedCommentSort("NEW"); +``` + +*** + + + +### setTextFallback() + +> **setTextFallback**(`opts`): `Promise`\<`void`\> + +Set a text fallback for the custom post. + +#### Parameters + +##### opts + +`Readonly`\<[`CustomPostTextFallbackOptions`](../type-aliases/CustomPostTextFallbackOptions.md)\> + +A text or a richtext to render in a fallback + +#### Returns + +`Promise`\<`void`\> + +#### Throws + +Throws an error if the fallback could not be set. + +#### Example + +```ts +// from a menu action, form, scheduler, trigger, custom post click event, etc +const newTextFallback = { text: 'This is an updated text fallback' }; +const post = await context.reddit.getPostById(context.postId); +await post.setTextFallback(newTextFallback); +``` + +*** + + + +### snoozeReports() + +> **snoozeReports**(`reason`): `Promise`\<`void`\> + +Snooze subsequent reports with the given reason from the same users for the next 7 days. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to snooze. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### sticky() + +> **sticky**(`position`?): `Promise`\<`void`\> + +#### Parameters + +##### position? + +`1` | `2` | `3` | `4` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Post`, `"flair"` \| `"spoiler"` \| `"id"` \| `"subredditName"` \| `"body"` \| `"permalink"` \| `"title"` \| `"createdAt"` \| `"nsfw"` \| `"url"` \| `"authorId"` \| `"authorName"` \| `"subredditId"` \| `"bodyHtml"` \| `"thumbnail"` \| `"score"` \| `"numberOfComments"` \| `"numberOfReports"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"removedBy"` \| `"removedByCategory"` \| `"archived"` \| `"edited"` \| `"locked"` \| `"quarantined"` \| `"hidden"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"authorFlair"` \| `"secureMedia"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"crosspostParentId"`\> + +#### Returns + +`Pick`\<`Post`, `"flair"` \| `"spoiler"` \| `"id"` \| `"subredditName"` \| `"body"` \| `"permalink"` \| `"title"` \| `"createdAt"` \| `"nsfw"` \| `"url"` \| `"authorId"` \| `"authorName"` \| `"subredditId"` \| `"bodyHtml"` \| `"thumbnail"` \| `"score"` \| `"numberOfComments"` \| `"numberOfReports"` \| `"approved"` \| `"spam"` \| `"stickied"` \| `"removed"` \| `"removedBy"` \| `"removedByCategory"` \| `"archived"` \| `"edited"` \| `"locked"` \| `"quarantined"` \| `"hidden"` \| `"ignoringReports"` \| `"distinguishedBy"` \| `"authorFlair"` \| `"secureMedia"` \| `"userReportReasons"` \| `"modReports"` \| `"modReportReasons"` \| `"crosspostParentId"`\> + +*** + + + +### undistinguish() + +> **undistinguish**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unhide() + +> **unhide**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unignoreReports() + +> **unignoreReports**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unlock() + +> **unlock**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmarkAsNsfw() + +> **unmarkAsNsfw**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmarkAsSpoiler() + +> **unmarkAsSpoiler**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsnoozeReports() + +> **unsnoozeReports**(`reason`): `Promise`\<`void`\> + +Unsnooze reports with the given reason. +Only works for free-form reports. + +#### Parameters + +##### reason + +`string` + +The report reason to unsnooze. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unsticky() + +> **unsticky**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateCrowdControlLevel() + +> **updateCrowdControlLevel**(`level`): `Promise`\<`void`\> + +Updates the crowd control level of the post to hide comments accordingly. + +#### Parameters + +##### level + +[`CrowdControlLevel`](../type-aliases/CrowdControlLevel.md) + +The crowd control level to set. See [CrowdControlLevel](../type-aliases/CrowdControlLevel.md) for more information. + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/PostFlairSettings.md b/versioned_docs/version-0.14/api/redditapi/models/classes/PostFlairSettings.md new file mode 100644 index 00000000..0dcc0bab --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/PostFlairSettings.md @@ -0,0 +1,33 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: PostFlairSettings + +## Constructors + + + +### new PostFlairSettings() + +> **new PostFlairSettings**(): `PostFlairSettings` + +#### Returns + +`PostFlairSettings` + +## Properties + + + +### isEnabled? + +> `optional` **isEnabled**: `boolean` + +*** + + + +### isSelfAssignabled? + +> `optional` **isSelfAssignabled**: `boolean` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/PostFlairWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/PostFlairWidget.md new file mode 100644 index 00000000..f91cf7b6 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/PostFlairWidget.md @@ -0,0 +1,163 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: PostFlairWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new PostFlairWidget() + +> **new PostFlairWidget**(`widgetData`, `subredditName`): `PostFlairWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`PostFlairWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### display + +#### Get Signature + +> **get** **display**(): `"list"` \| `"cloud"` + +##### Returns + +`"list"` \| `"cloud"` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +*** + + + +### templates + +#### Get Signature + +> **get** **templates**(): `GetWidgetsResponse_WidgetItem_PostFlairTemplate`[] + +##### Returns + +`GetWidgetsResponse_WidgetItem_PostFlairTemplate`[] + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`PostFlairWidget`, `"styles"` \| `"templates"` \| `"display"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`PostFlairWidget`, `"styles"` \| `"templates"` \| `"display"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/PrivateMessage.md b/versioned_docs/version-0.14/api/redditapi/models/classes/PrivateMessage.md new file mode 100644 index 00000000..385b3f0e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/PrivateMessage.md @@ -0,0 +1,87 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: PrivateMessage + +## Accessors + + + +### body + +#### Get Signature + +> **get** **body**(): `string` + +##### Returns + +`string` + +*** + + + +### bodyHtml + +#### Get Signature + +> **get** **bodyHtml**(): `string` + +##### Returns + +`string` + +*** + + + +### created + +#### Get Signature + +> **get** **created**(): `Date` + +##### Returns + +`Date` + +*** + + + +### from + +#### Get Signature + +> **get** **from**(): `PrivateMessageAuthor` + +##### Returns + +`PrivateMessageAuthor` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `Tid` + +##### Returns + +`Tid` + +## Methods + + + +### markAsRead() + +> **markAsRead**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Rule.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Rule.md new file mode 100644 index 00000000..c8412a10 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Rule.md @@ -0,0 +1,283 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Rule + +## Constructors + + + +### new Rule() + +> **new Rule**(`ruleData`, `subredditName`): `Rule` + +#### Parameters + +##### ruleData + +`SubredditAboutRulesResponse_SubredditRule` + +##### subredditName + +`string` + +#### Returns + +`Rule` + +## Accessors + + + +### createdUtc + +#### Get Signature + +> **get** **createdUtc**(): `number` + +The Unix timestamp of when the rule was created. + +##### Returns + +`number` + +*** + + + +### description + +#### Get Signature + +> **get** **description**(): `string` + +The full description of the rule. This appears on your subreddit's sidebar. + +##### Returns + +`string` + +*** + + + +### descriptionHtml + +#### Get Signature + +> **get** **descriptionHtml**(): `undefined` \| `string` + +##### Returns + +`undefined` \| `string` + +*** + + + +### kind + +#### Get Signature + +> **get** **kind**(): `"comment"` \| `"all"` \| `"link"` + +Which Reddit objects this rule applies to. One of "all", "link" (AKA posts), "comment". + +##### Returns + +`"comment"` \| `"all"` \| `"link"` + +*** + + + +### priority + +#### Get Signature + +> **get** **priority**(): `number` + +The zero-indexed rank of the rule on the subreddit sidebar. Lower numbers appear on top. + +##### Returns + +`number` + +*** + + + +### shortName + +#### Get Signature + +> **get** **shortName**(): `string` + +The name for the rule. + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +The name (without r/ prefix) of the subreddit the rule belongs to. + +##### Returns + +`string` + +*** + + + +### violationReason + +#### Get Signature + +> **get** **violationReason**(): `string` + +Text to show users when reporting content due to this rule. Defaults to the shortName. + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Rule`, `"subredditName"` \| `"createdUtc"` \| `"description"` \| `"kind"` \| `"violationReason"` \| `"shortName"` \| `"priority"`\> & `object` + +#### Returns + +`Pick`\<`Rule`, `"subredditName"` \| `"createdUtc"` \| `"description"` \| `"kind"` \| `"violationReason"` \| `"shortName"` \| `"priority"`\> & `object` + +*** + + + +### update() + +> **update**(`options`): `Promise`\<`void`\> + +Update an existing rule. + +#### Parameters + +##### options + +`Readonly`\<[`UpdateRuleOptions`](../type-aliases/UpdateRuleOptions.md)\> + +New values for an existing rule. All fields are optional. If a field is not provided, the existing value will not be changed. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createRule() + +> `static` **createRule**(`subredditName`, `options`): `Promise`\<`void`\> + +#### Parameters + +##### subredditName + +`string` + +##### options + +`Readonly`\<[`CreateRuleOptions`](../type-aliases/CreateRuleOptions.md)\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### delete() + +> `static` **delete**(`subredditName`, `shortName`): `Promise`\<`void`\> + +#### Parameters + +##### subredditName + +`string` + +##### shortName + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### getRules() + +> `static` **getRules**(`subredditName`): `Promise`\<`Rule`[]\> + +#### Parameters + +##### subredditName + +`string` + +#### Returns + +`Promise`\<`Rule`[]\> + +*** + + + +### reorderRules() + +> `static` **reorderRules**(`subredditName`, `rules`): `Promise`\<`void`\> + +#### Parameters + +##### subredditName + +`string` + +##### rules + +`Rule`[] + +#### Returns + +`Promise`\<`void`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Subreddit.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Subreddit.md new file mode 100644 index 00000000..11223ba3 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Subreddit.md @@ -0,0 +1,1529 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Subreddit + +A class representing a subreddit. + +## Accessors + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The creation date of the subreddit. + +##### Returns + +`Date` + +*** + + + +### description + +#### Get Signature + +> **get** **description**(): `undefined` \| `string` + +The description of the subreddit. Appears in the sidebar of the subreddit. + +##### Returns + +`undefined` \| `string` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +##### Returns + +`` `t5_${string}` `` + +*** + + + +### language + +#### Get Signature + +> **get** **language**(): `string` + +The language of the subreddit. + +##### Returns + +`string` + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +The name of a subreddit omitting the r/. + +##### Returns + +`string` + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the subreddit is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +*** + + + +### numberOfActiveUsers + +#### Get Signature + +> **get** **numberOfActiveUsers**(): `number` + +The number of active users of the subreddit. + +##### Returns + +`number` + +*** + + + +### numberOfSubscribers + +#### Get Signature + +> **get** **numberOfSubscribers**(): `number` + +The number of subscribers of the subreddit. + +##### Returns + +`number` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path +(R2 bug: subreddit.url is a permalink, and does not have a subreddit.permalink field) + +##### Returns + +`string` + +*** + + + +### postFlairsEnabled + +#### Get Signature + +> **get** **postFlairsEnabled**(): `boolean` + +Whether the post flairs are enabled for this subreddit. + +##### Returns + +`boolean` + +*** + + + +### settings + +#### Get Signature + +> **get** **settings**(): [`SubredditSettings`](../type-aliases/SubredditSettings.md) + +The settings of the subreddit. + +##### Returns + +[`SubredditSettings`](../type-aliases/SubredditSettings.md) + +*** + + + +### title + +#### Get Signature + +> **get** **title**(): `undefined` \| `string` + +The title of the subreddit. + +##### Returns + +`undefined` \| `string` + +*** + + + +### type + +#### Get Signature + +> **get** **type**(): [`SubredditType`](../type-aliases/SubredditType.md) + +The type of subreddit (public, private, etc.). + +##### Returns + +[`SubredditType`](../type-aliases/SubredditType.md) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the subreddit. +(R2 bug: subreddit.url is a permalink path and does not return a fully qualified URL in subreddit.url) + +##### Returns + +`string` + +*** + + + +### userFlairsEnabled + +#### Get Signature + +> **get** **userFlairsEnabled**(): `boolean` + +Whether the user flairs are enabled for this subreddit. + +##### Returns + +`boolean` + +*** + + + +### usersCanAssignPostFlairs + +#### Get Signature + +> **get** **usersCanAssignPostFlairs**(): `boolean` + +Whether the user can assign post flairs. +This is only true if the post flairs are enabled. + +##### Returns + +`boolean` + +*** + + + +### usersCanAssignUserFlairs + +#### Get Signature + +> **get** **usersCanAssignUserFlairs**(): `boolean` + +Whether the user can assign user flairs. +This is only true if the user flairs are enabled. + +##### Returns + +`boolean` + +## Methods + + + +### addRemovalReason() + +> **addRemovalReason**(`options`): `Promise`\<`string`\> + +Add a removal reason to this subreddit. + +#### Parameters + +##### options + +###### message + +`string` + +The message associated with the removal reason. + +###### title + +`string` + +The title of the removal reason. + +#### Returns + +`Promise`\<`string`\> + +The new removal reason ID. + +*** + + + +### addWikiContributor() + +> **addWikiContributor**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### approveUser() + +> **approveUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banUser() + +> **banUser**(`options`): `Promise`\<`void`\> + +#### Parameters + +##### options + +`Omit`\<[`BanUserOptions`](../type-aliases/BanUserOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### banWikiContributor() + +> **banWikiContributor**(`options`): `Promise`\<`void`\> + +#### Parameters + +##### options + +`Omit`\<[`BanWikiContributorOptions`](../type-aliases/BanWikiContributorOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createPostFlairTemplate() + +> **createPostFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +#### Parameters + +##### options + +`Omit`\<[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +*** + + + +### createRule() + +> **createRule**(`options`): `Promise`\<`void`\> + +Create a new subreddit rule. + +#### Parameters + +##### options + +`Readonly`\<[`CreateRuleOptions`](../type-aliases/CreateRuleOptions.md)\> + +Options for creating a new subreddit rule. + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### createUserFlairTemplate() + +> **createUserFlairTemplate**(`options`): `Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +#### Parameters + +##### options + +`Omit`\<[`CreateFlairTemplateOptions`](../type-aliases/CreateFlairTemplateOptions.md), `"subredditName"`\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)\> + +*** + + + +### crosspost() + +> **crosspost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`CrosspostOptions`](../type-aliases/CrosspostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +*** + + + +### deleteRemovalReason() + +> **deleteRemovalReason**(`reasonId`): `Promise`\<`void`\> + +Delete a removal reason from this subreddit. + +#### Parameters + +##### reasonId + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### getApprovedUsers() + +> **getApprovedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +#### Parameters + +##### options + +`GetUsersOptions` = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditContributorUser`](SubredditContributorUser.md)\> + +*** + + + +### getBannedUsers() + +> **getBannedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +#### Parameters + +##### options + +`GetUsersOptions` = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditBannedUser`](SubredditBannedUser.md)\> + +*** + + + +### getBannedWikiContributors() + +> **getBannedWikiContributors**(`options`): [`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +#### Parameters + +##### options + +`GetUsersOptions` = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiBannedUser`](SubredditWikiBannedUser.md)\> + +*** + + + +### getCommentsAndPostsByIds() + +> **getCommentsAndPostsByIds**(`ids`): [`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +Return a listing of things specified by their fullnames. + +#### Parameters + +##### ids + +`string`[] + +Array of thing full ids (e.g. t3_abc123) + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +#### Example + +```ts +const subreddit = await reddit.getSubredditByName('askReddit'); +const listing = subreddit.getCommentsAndPostsByIds(['t3_abc123', 't1_xyz123']); +const items = await listing.all(); +console.log(items) // [Post, Comment] +``` + +*** + + + +### getControversialPosts() + +> **getControversialPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +#### Parameters + +##### options + +`Omit`\<[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md), `"subredditName"`\> = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +*** + + + +### getEdited() + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getEdited**(`options`?): [`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +Return a listing of things that have been edited recently. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getEdited(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getEdited({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +#### Parameters + +##### options + +`GetModerationLogOptions` + +#### Returns + +[`Listing`](Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +*** + + + +### getModerators() + +> **getModerators**(`options`): [`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +#### Parameters + +##### options + +`GetUsersOptions` = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditModeratorUser`](SubredditModeratorUser.md)\> + +*** + + + +### getModQueue() + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getModQueue**(`options`?): [`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +Return a listing of things requiring moderator review, such as reported things and items. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getModQueue(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getModQueue({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getMutedUsers() + +> **getMutedUsers**(`options`): [`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +#### Parameters + +##### options + +`GetUsersOptions` = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditMutedUser`](SubredditMutedUser.md)\> + +*** + + + +### getPostFlairTemplates() + +> **getPostFlairTemplates**(): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +*** + + + +### getRemovalReasons() + +> **getRemovalReasons**(): `Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +Get the list of this subreddit's removal reasons (ordered). + +#### Returns + +`Promise`\<[`RemovalReason`](../type-aliases/RemovalReason.md)[]\> + +*** + + + +### getReports() + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getReports**(`options`?): [`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +Return a listing of things that have been reported. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getReports(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getReports({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getRules() + +> **getRules**(): `Promise`\<[`Rule`](Rule.md)[]\> + +#### Returns + +`Promise`\<[`Rule`](Rule.md)[]\> + +*** + + + +### getSpam() + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getSpam**(`options`?): [`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +Return a listing of things that have been marked as spam or otherwise removed. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getSpam(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getSpam({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getTopPosts() + +> **getTopPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +#### Parameters + +##### options + +`Omit`\<[`GetPostsOptionsWithTimeframe`](../type-aliases/GetPostsOptionsWithTimeframe.md), `"subredditName"`\> = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +*** + + + +### getUnmoderated() + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"comment"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options + +`AboutSubredditOptions`\<`"post"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +#### Call Signature + +> **getUnmoderated**(`options`?): [`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +Return a listing of things that have yet to be approved/removed by a mod. + +##### Parameters + +###### options? + +`AboutSubredditOptions`\<`"all"`\> + +##### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md) \| [`Post`](Post.md)\> + +##### Example + +```ts +const subreddit = await reddit.getSubredditByName("mysubreddit") +let listing = await subreddit.getUnmoderated(); +console.log("Posts and Comments: ", await listing.all()) +listing = await subreddit.getUnmoderated({ type: "post"}); +console.log("Posts: ", await listing.all()) +``` + +*** + + + +### getUserFlair() + +> **getUserFlair**(`options`?): `Promise`\<[`GetUserFlairBySubredditResponse`](../type-aliases/GetUserFlairBySubredditResponse.md)\> + +Get the user flair for the given subreddit. If `usernames` is provided then it will return only the +flair for the specified users. If retrieving the list of flair for a given subreddit and the list is long +then this method will return a `next` field which can be passed into the `after` field on the next call to +retrieve the next slice of data. To retrieve the previous slice of data pass the `prev` field into the `before` field +during the subsequent call. + +#### Parameters + +##### options? + +[`GetUserFlairOptions`](../type-aliases/GetUserFlairOptions.md) + +See interface + +#### Returns + +`Promise`\<[`GetUserFlairBySubredditResponse`](../type-aliases/GetUserFlairBySubredditResponse.md)\> + +#### Examples + +```ts +const subredditName = "mysubreddit" +const subreddit = await reddit.getSubredditByName(subredditName) +const response = await subreddit.getUserFlair(); +const userFlairList = response.users +``` + +```ts +const response = await subreddit.getUserFlair({ after: "t2_awefae"}); +const userFlairList = response.users +``` + +```ts +const response = await subreddit.getUserFlair({ usernames: ['toxictoad', 'badapple']}); +const userFlairList = response.users +``` + +*** + + + +### getUserFlairTemplates() + +> **getUserFlairTemplates**(): `Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +#### Returns + +`Promise`\<[`FlairTemplate`](FlairTemplate.md)[]\> + +*** + + + +### getWikiContributors() + +> **getWikiContributors**(`options`): [`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +#### Parameters + +##### options + +`GetUsersOptions` = `{}` + +#### Returns + +[`Listing`](Listing.md)\<[`SubredditWikiContributorUser`](SubredditWikiContributorUser.md)\> + +*** + + + +### inviteModerator() + +> **inviteModerator**(`username`, `permissions`?): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +##### permissions? + +[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### muteUser() + +> **muteUser**(`username`, `note`?): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +##### note? + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeModerator() + +> **removeModerator**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeUser() + +> **removeUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### removeWikiContributor() + +> **removeWikiContributor**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### reorderRules() + +> **reorderRules**(`rules`): `Promise`\<`void`\> + +#### Parameters + +##### rules + +[`Rule`](Rule.md)[] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### revokeModeratorInvite() + +> **revokeModeratorInvite**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### setModeratorPermissions() + +> **setModeratorPermissions**(`username`, `permissions`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +##### permissions + +[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### submitCustomPost() + +> **submitCustomPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`SubmitCustomPostOptions`](../type-aliases/SubmitCustomPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +*** + + + +### submitPost() + +> **submitPost**(`opts`): `Promise`\<[`Post`](Post.md)\> + +#### Parameters + +##### opts + +`Readonly`\<[`SubmitPostOptions`](../type-aliases/SubmitPostOptions.md)\> + +#### Returns + +`Promise`\<[`Post`](Post.md)\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Subreddit`, `"name"` \| `"id"` \| `"type"` \| `"description"` \| `"title"` \| `"createdAt"` \| `"nsfw"` \| `"settings"` \| `"language"` \| `"numberOfSubscribers"` \| `"numberOfActiveUsers"`\> + +#### Returns + +`Pick`\<`Subreddit`, `"name"` \| `"id"` \| `"type"` \| `"description"` \| `"title"` \| `"createdAt"` \| `"nsfw"` \| `"settings"` \| `"language"` \| `"numberOfSubscribers"` \| `"numberOfActiveUsers"`\> + +*** + + + +### unbanUser() + +> **unbanUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unbanWikiContributor() + +> **unbanWikiContributor**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### unmuteUser() + +> **unmuteUser**(`username`): `Promise`\<`void`\> + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateRemovalReason() + +> **updateRemovalReason**(`reasonId`, `options`): `Promise`\<`void`\> + +Update a removal reason's title and message in this subreddit. + +#### Parameters + +##### reasonId + +`string` + +##### options + +###### message + +`string` + +###### title + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### updateSettings() + +> **updateSettings**(`options`): `Promise`\<`void`\> + +Updates subreddit settings via the SiteAdmin API. Current settings are used as the base; +only fields specified in `options` are changed. In order to reset a field to its default value, +pass the default value as the option value. + +#### Parameters + +##### options + +[`SubredditSettingsOptions`](../type-aliases/SubredditSettingsOptions.md) + +Optional settings to apply. Omitted fields are left unchanged. + +#### Returns + +`Promise`\<`void`\> + +#### Example + +```ts +const subreddit = await reddit.getSubredditByName('mysubreddit'); +await subreddit.setSettings({ restrictPosting: true, allowImages: false }); +await subreddit.setSettings({ type: 'restricted', title: 'New Title', description: 'Sidebar text' }); +``` + +*** + + + +### getSubscribedSubredditsForCurrentUser() + +> `static` **getSubscribedSubredditsForCurrentUser**(`options`): [`Listing`](Listing.md)\<`Subreddit`\> + +#### Parameters + +##### options + +[`GetSubscribedSubredditsForCurrentUserOptions`](../type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md) = `{}` + +#### Returns + +[`Listing`](Listing.md)\<`Subreddit`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditBannedUser.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditBannedUser.md new file mode 100644 index 00000000..4b2b2e84 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditBannedUser.md @@ -0,0 +1,593 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditBannedUser + +User on a subreddit's banned list; data from the AboutWhere response. +Use `getBannedUsers()` or `subreddit.getBannedUsers()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the ban was created (UTC). + +*** + + + +### daysLeft? + +> `readonly` `optional` **daysLeft**: `number` + +Days remaining on a temporary ban (undefined if permanent). + +*** + + + +### note? + +> `readonly` `optional` **note**: `string` + +Moderator note (visible only to mods). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditBannedUser`, `"date"`\> & `object` + +#### Returns + +`Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditBannedUser`, `"date"`\> & `object` + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditContributorUser.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditContributorUser.md new file mode 100644 index 00000000..bab54109 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditContributorUser.md @@ -0,0 +1,573 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditContributorUser + +User approved to post in a subreddit (contributor); data from the AboutWhere response. +Use `getApprovedUsers()` or `subreddit.getApprovedUsers()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the contributor relationship was created (UTC). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditContributorUser`, `"date"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditContributorUser`, `"date"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditDescription.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditDescription.md new file mode 100644 index 00000000..a3dfaa30 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditDescription.md @@ -0,0 +1,25 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditDescription + +## Constructors + + + +### new SubredditDescription() + +> **new SubredditDescription**(): `SubredditDescription` + +#### Returns + +`SubredditDescription` + +## Properties + + + +### markdown? + +> `optional` **markdown**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditModeratorUser.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditModeratorUser.md new file mode 100644 index 00000000..a19426a5 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditModeratorUser.md @@ -0,0 +1,602 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditModeratorUser + +Moderator of a subreddit; data from the AboutWhere response. +Use `getModerators()` or `subreddit.getModerators()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the moderator relationship was created (UTC). + +*** + + + +### moderatorInfo + +> `readonly` **moderatorInfo**: `object` + +Moderator relationship data for the subreddit. +Nested to avoid shadowing [User.modPermissions](User.md#modpermissions), which stores permissions across all subreddits. + +#### authorFlairCssClass? + +> `optional` **authorFlairCssClass**: `string` + +User flair CSS class in the subreddit. + +#### authorFlairText? + +> `optional` **authorFlairText**: `string` + +User flair text in the subreddit. + +#### modPermissions + +> **modPermissions**: [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[] + +Moderator permissions for this subreddit. + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditModeratorUser`, `"date"` \| `"moderatorInfo"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditModeratorUser`, `"date"` \| `"moderatorInfo"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditMutedUser.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditMutedUser.md new file mode 100644 index 00000000..55789830 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditMutedUser.md @@ -0,0 +1,573 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditMutedUser + +User on a subreddit's muted list; data from the AboutWhere response. +Use `getMutedUsers()` or `subreddit.getMutedUsers()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the mute was created (UTC). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditMutedUser`, `"date"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditMutedUser`, `"date"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditRulesWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditRulesWidget.md new file mode 100644 index 00000000..ec5147ac --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditRulesWidget.md @@ -0,0 +1,139 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditRulesWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new SubredditRulesWidget() + +> **new SubredditRulesWidget**(`subredditAboutRulesRsp`, `widgetData`, `subredditName`): `SubredditRulesWidget` + +#### Parameters + +##### subredditAboutRulesRsp + +`SubredditAboutRulesResponse` + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`SubredditRulesWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### rules + +#### Get Signature + +> **get** **rules**(): `SubredditRule`[] + +##### Returns + +`SubredditRule`[] + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`SubredditRulesWidget`, `"rules"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`SubredditRulesWidget`, `"rules"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiBannedUser.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiBannedUser.md new file mode 100644 index 00000000..43e27681 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiBannedUser.md @@ -0,0 +1,593 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditWikiBannedUser + +User on a subreddit's wiki-banned list; data from the AboutWhere response. +Use `getBannedWikiContributors()` or `subreddit.getBannedWikiContributors()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the wiki ban was created (UTC). + +*** + + + +### daysLeft? + +> `readonly` `optional` **daysLeft**: `number` + +Days remaining on a temporary ban (undefined if permanent). + +*** + + + +### note? + +> `readonly` `optional` **note**: `string` + +Moderator note. + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditWikiBannedUser`, `"date"`\> & `object` + +#### Returns + +`Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditWikiBannedUser`, `"date"`\> & `object` + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiContributorUser.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiContributorUser.md new file mode 100644 index 00000000..f9c8e6db --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiContributorUser.md @@ -0,0 +1,573 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditWikiContributorUser + +User with wiki contributor access; data from the AboutWhere response. +Use `getWikiContributors()` or `subreddit.getWikiContributors()` to receive a listing of these. + +## Extends + +- [`User`](User.md) + +## Properties + + + +### date + +> `readonly` **date**: `Date` + +When the wiki contributor relationship was created (UTC). + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`about`](User.md#about) + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`commentKarma`](User.md#commentkarma) + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +#### Inherited from + +[`User`](User.md).[`createdAt`](User.md#createdat) + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`displayName`](User.md#displayname) + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasRedditPremium`](User.md#hasredditpremium) + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`hasVerifiedEmail`](User.md#hasverifiedemail) + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +#### Inherited from + +[`User`](User.md).[`id`](User.md#id) + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isAdmin`](User.md#isadmin) + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`isModerator`](User.md#ismoderator) + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +#### Inherited from + +[`User`](User.md).[`linkKarma`](User.md#linkkarma) + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +#### Inherited from + +[`User`](User.md).[`modPermissions`](User.md#modpermissions) + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`nsfw`](User.md#nsfw) + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`permalink`](User.md#permalink) + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +#### Inherited from + +[`User`](User.md).[`showNsfw`](User.md#shownsfw) + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`url`](User.md#url) + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +#### Inherited from + +[`User`](User.md).[`username`](User.md#username) + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +#### Inherited from + +[`User`](User.md).[`getComments`](User.md#getcomments) + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +#### Inherited from + +[`User`](User.md).[`getModPermissionsForSubreddit`](User.md#getmodpermissionsforsubreddit) + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +#### Inherited from + +[`User`](User.md).[`getPosts`](User.md#getposts) + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +#### Inherited from + +[`User`](User.md).[`getSnoovatarUrl`](User.md#getsnoovatarurl) + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +#### Inherited from + +[`User`](User.md).[`getSocialLinks`](User.md#getsociallinks) + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +#### Inherited from + +[`User`](User.md).[`getTrophies`](User.md#gettrophies) + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +#### Inherited from + +[`User`](User.md).[`getUserFlairBySubreddit`](User.md#getuserflairbysubreddit) + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +#### Inherited from + +[`User`](User.md).[`getUserKarmaFromCurrentSubreddit`](User.md#getuserkarmafromcurrentsubreddit) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditWikiContributorUser`, `"date"`\> + +#### Returns + +`Pick`\<[`User`](User.md), `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` & `Pick`\<`SubredditWikiContributorUser`, `"date"`\> + +#### Overrides + +[`User`](User.md).[`toJSON`](User.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiSettings.md b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiSettings.md new file mode 100644 index 00000000..680d2290 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/SubredditWikiSettings.md @@ -0,0 +1,25 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: SubredditWikiSettings + +## Constructors + + + +### new SubredditWikiSettings() + +> **new SubredditWikiSettings**(): `SubredditWikiSettings` + +#### Returns + +`SubredditWikiSettings` + +## Properties + + + +### wikiEditMode? + +> `optional` **wikiEditMode**: [`WikiEditMode`](../type-aliases/WikiEditMode.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/TextAreaWidget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/TextAreaWidget.md new file mode 100644 index 00000000..879e12f5 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/TextAreaWidget.md @@ -0,0 +1,149 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: TextAreaWidget + +## Extends + +- [`Widget`](Widget.md) + +## Constructors + + + +### new TextAreaWidget() + +> **new TextAreaWidget**(`widgetData`, `subredditName`): `TextAreaWidget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`TextAreaWidget` + +#### Overrides + +[`Widget`](Widget.md).[`constructor`](Widget.md#constructor) + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`id`](Widget.md#id) + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`name`](Widget.md#name) + +*** + + + +### styles + +#### Get Signature + +> **get** **styles**(): `WidgetStyles` + +##### Returns + +`WidgetStyles` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +#### Inherited from + +[`Widget`](Widget.md).[`subredditName`](Widget.md#subredditname) + +*** + + + +### text + +#### Get Signature + +> **get** **text**(): `string` + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +#### Inherited from + +[`Widget`](Widget.md).[`delete`](Widget.md#delete) + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`TextAreaWidget`, `"text"` \| `"styles"`\> + +#### Returns + +`Pick`\<[`Widget`](Widget.md), `"name"` \| `"id"` \| `"subredditName"`\> & `Pick`\<`TextAreaWidget`, `"text"` \| `"styles"`\> + +#### Overrides + +[`Widget`](Widget.md).[`toJSON`](Widget.md#tojson) diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/User.md b/versioned_docs/version-0.14/api/redditapi/models/classes/User.md new file mode 100644 index 00000000..ca2bd997 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/User.md @@ -0,0 +1,467 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: User + +A class representing a user. + +## Extended by + +- [`SubredditBannedUser`](SubredditBannedUser.md) +- [`SubredditMutedUser`](SubredditMutedUser.md) +- [`SubredditWikiBannedUser`](SubredditWikiBannedUser.md) +- [`SubredditContributorUser`](SubredditContributorUser.md) +- [`SubredditWikiContributorUser`](SubredditWikiContributorUser.md) +- [`SubredditModeratorUser`](SubredditModeratorUser.md) + +## Accessors + + + +### about + +#### Get Signature + +> **get** **about**(): `string` + +The user's public description about themselves. May be empty. + +##### Returns + +`string` + +*** + + + +### commentKarma + +#### Get Signature + +> **get** **commentKarma**(): `number` + +The amount of comment karma the user has. + +##### Returns + +`number` + +*** + + + +### createdAt + +#### Get Signature + +> **get** **createdAt**(): `Date` + +The date the user was created. + +##### Returns + +`Date` + +*** + + + +### displayName + +#### Get Signature + +> **get** **displayName**(): `string` + +The display name of the user. May be different from their username. + +##### Returns + +`string` + +*** + + + +### hasRedditPremium + +#### Get Signature + +> **get** **hasRedditPremium**(): `boolean` + +Whether the user has Reddit Premium. + +##### Returns + +`boolean` + +*** + + + +### hasVerifiedEmail + +#### Get Signature + +> **get** **hasVerifiedEmail**(): `boolean` + +Indicates whether or not the user has verified their email address. + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `` `t2_${string}` `` + +The ID (starting with t2_) of the user to retrieve. + +##### Example + +```ts +'t2_1w72' +``` + +##### Returns + +`` `t2_${string}` `` + +*** + + + +### isAdmin + +#### Get Signature + +> **get** **isAdmin**(): `boolean` + +Whether the user is a Reddit employee. + +##### Returns + +`boolean` + +*** + + + +### isModerator + +#### Get Signature + +> **get** **isModerator**(): `boolean` + +Whether the user is a moderator of any subreddit. + +##### Returns + +`boolean` + +*** + + + +### linkKarma + +#### Get Signature + +> **get** **linkKarma**(): `number` + +The amount of link karma the user has. + +##### Returns + +`number` + +*** + + + +### modPermissions + +#### Get Signature + +> **get** **modPermissions**(): `Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +The permissions the user has on the subreddit. + +##### Returns + +`Map`\<`string`, [`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +*** + + + +### nsfw + +#### Get Signature + +> **get** **nsfw**(): `boolean` + +Whether the user's profile is marked as NSFW (Not Safe For Work). + +##### Returns + +`boolean` + +*** + + + +### permalink + +#### Get Signature + +> **get** **permalink**(): `string` + +Returns a permalink path relative to https://www.reddit.com + +##### Returns + +`string` + +*** + + + +### showNsfw + +#### Get Signature + +> **get** **showNsfw**(): `boolean` + +Whether the user is over 18 and wishes to see NSFW content. + +##### Returns + +`boolean` + +*** + + + +### url + +#### Get Signature + +> **get** **url**(): `string` + +Returns the HTTP URL for the user + +##### Returns + +`string` + +*** + + + +### username + +#### Get Signature + +> **get** **username**(): `string` + +The username of the user omitting the u/. + +##### Example + +```ts +'spez' +``` + +##### Returns + +`string` + +## Methods + + + +### getComments() + +> **getComments**(`options`): [`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +Get the user's comments. + +#### Parameters + +##### options + +`Omit`\<[`GetCommentsByUserOptions`](../type-aliases/GetCommentsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Comment`](Comment.md)\> + +A Listing of Comment objects. + +*** + + + +### getModPermissionsForSubreddit() + +> **getModPermissionsForSubreddit**(`subredditName`): `Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +Get the mod permissions the user has on the subreddit if they are a moderator. + +#### Parameters + +##### subredditName + +`string` + +name of the subreddit + +#### Returns + +`Promise`\<[`ModeratorPermission`](../type-aliases/ModeratorPermission.md)[]\> + +the moderator permissions the user has on the subreddit + +*** + + + +### getPosts() + +> **getPosts**(`options`): [`Listing`](Listing.md)\<[`Post`](Post.md)\> + +Get the user's posts. + +#### Parameters + +##### options + +`Omit`\<[`GetPostsByUserOptions`](../type-aliases/GetPostsByUserOptions.md), `"username"`\> + +Options for the request + +#### Returns + +[`Listing`](Listing.md)\<[`Post`](Post.md)\> + +A Listing of Post objects. + +*** + + + +### getSnoovatarUrl() + +> **getSnoovatarUrl**(): `Promise`\<`undefined` \| `string`\> + +#### Returns + +`Promise`\<`undefined` \| `string`\> + +*** + + + +### getSocialLinks() + +> **getSocialLinks**(): `Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +Gets social links of the user + +#### Returns + +`Promise`\<[`UserSocialLink`](../type-aliases/UserSocialLink.md)[]\> + +A Promise that resolves an Array of UserSocialLink objects + +#### Example + +```ts +const socialLinks = await user.getSocialLinks(); +``` + +*** + + + +### getTrophies() + +> **getTrophies**(): `Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +Get the trophies displayed on this user's profile. + +#### Returns + +`Promise`\<[`Trophy`](../type-aliases/Trophy.md)[]\> + +A Promise that resolves to an array of Trophy objects. + +*** + + + +### getUserFlairBySubreddit() + +> **getUserFlairBySubreddit**(`subreddit`): `Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +Retrieve the user's flair for the subreddit. + +#### Parameters + +##### subreddit + +`string` + +The name of the subreddit associated with the user's flair. + +#### Returns + +`Promise`\<`undefined` \| [`UserFlair`](../type-aliases/UserFlair.md)\> + +#### Example + +```ts +const username = "badapple" +const subredditName = "mysubreddit" +const user = await reddit.getUserByUsername(username); +const userFlair = await user.getUserFlairBySubreddit(subredditName); +``` + +*** + + + +### getUserKarmaFromCurrentSubreddit() + +> **getUserKarmaFromCurrentSubreddit**(): `Promise`\<`GetUserKarmaForSubredditResponse`\> + +Returns the karma for this User in the current subreddit. +The user making the request must be a moderator of the subreddit to read another user's karma in the subreddit. +An exception is if the specified user is the same as the user making the request. + +#### Returns + +`Promise`\<`GetUserKarmaForSubredditResponse`\> + +The GetUserKarmaForSubredditResponse, containing the user's karma for comments and posts in the subreddit. + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`User`, `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` + +#### Returns + +`Pick`\<`User`, `"id"` \| `"username"` \| `"createdAt"` \| `"linkKarma"` \| `"commentKarma"` \| `"nsfw"`\> & `object` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/Widget.md b/versioned_docs/version-0.14/api/redditapi/models/classes/Widget.md new file mode 100644 index 00000000..1976ac89 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/Widget.md @@ -0,0 +1,104 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: Widget + +## Extended by + +- [`ImageWidget`](ImageWidget.md) +- [`CalendarWidget`](CalendarWidget.md) +- [`TextAreaWidget`](TextAreaWidget.md) +- [`ButtonWidget`](ButtonWidget.md) +- [`CommunityListWidget`](CommunityListWidget.md) +- [`PostFlairWidget`](PostFlairWidget.md) +- [`CustomWidget`](CustomWidget.md) +- [`SubredditRulesWidget`](SubredditRulesWidget.md) + +## Constructors + + + +### new Widget() + +> **new Widget**(`widgetData`, `subredditName`): `Widget` + +#### Parameters + +##### widgetData + +`GetWidgetsResponse_WidgetItem` + +##### subredditName + +`string` + +#### Returns + +`Widget` + +## Accessors + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +##### Returns + +`string` + +## Methods + + + +### delete() + +> **delete**(): `Promise`\<`void`\> + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`Widget`, `"name"` \| `"id"` \| `"subredditName"`\> + +#### Returns + +`Pick`\<`Widget`, `"name"` \| `"id"` \| `"subredditName"`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPage.md b/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPage.md new file mode 100644 index 00000000..0ee45486 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPage.md @@ -0,0 +1,283 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: WikiPage + +## Accessors + + + +### content + +#### Get Signature + +> **get** **content**(): `string` + +The Markdown content of the page. + +##### Returns + +`string` + +*** + + + +### contentHtml + +#### Get Signature + +> **get** **contentHtml**(): `string` + +The HTML content of the page. + +##### Returns + +`string` + +*** + + + +### name + +#### Get Signature + +> **get** **name**(): `string` + +The name of the page. + +##### Returns + +`string` + +*** + + + +### revisionAuthor + +#### Get Signature + +> **get** **revisionAuthor**(): `undefined` \| [`User`](User.md) + +The author of this revision. + +##### Returns + +`undefined` \| [`User`](User.md) + +*** + + + +### revisionDate + +#### Get Signature + +> **get** **revisionDate**(): `Date` + +The date of the revision. + +##### Returns + +`Date` + +*** + + + +### revisionId + +#### Get Signature + +> **get** **revisionId**(): `` `${string}-${string}-${string}-${string}-${string}` `` + +The ID of the revision. + +##### Returns + +`` `${string}-${string}-${string}-${string}-${string}` `` + +*** + + + +### revisionReason + +#### Get Signature + +> **get** **revisionReason**(): `string` + +The reason for the revision. + +##### Returns + +`string` + +*** + + + +### subredditName + +#### Get Signature + +> **get** **subredditName**(): `string` + +The name of the subreddit the page is in. + +##### Returns + +`string` + +## Methods + + + +### addEditor() + +> **addEditor**(`username`): `Promise`\<`void`\> + +Add an editor to this page. + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### getRevisions() + +> **getRevisions**(`options`): `Promise`\<[`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\>\> + +Get the revisions for this page. + +#### Parameters + +##### options + +`Omit`\<[`GetPageRevisionsOptions`](../type-aliases/GetPageRevisionsOptions.md), `"subredditName"` \| `"page"`\> + +#### Returns + +`Promise`\<[`Listing`](Listing.md)\<[`WikiPageRevision`](WikiPageRevision.md)\>\> + +*** + + + +### getSettings() + +> **getSettings**(): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Get the settings for this page. + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +*** + + + +### removeEditor() + +> **removeEditor**(`username`): `Promise`\<`void`\> + +Remove an editor from this page. + +#### Parameters + +##### username + +`string` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### revertTo() + +> **revertTo**(`revisionId`): `Promise`\<`void`\> + +Revert this page to a previous revision. + +#### Parameters + +##### revisionId + +`` `${string}-${string}-${string}-${string}-${string}` `` + +#### Returns + +`Promise`\<`void`\> + +*** + + + +### toJSON() + +> **toJSON**(): `Pick`\<`WikiPage`, `"name"` \| `"subredditName"` \| `"content"` \| `"contentHtml"` \| `"revisionId"` \| `"revisionDate"` \| `"revisionReason"`\> & `object` + +#### Returns + +`Pick`\<`WikiPage`, `"name"` \| `"subredditName"` \| `"content"` \| `"contentHtml"` \| `"revisionId"` \| `"revisionDate"` \| `"revisionReason"`\> & `object` + +*** + + + +### update() + +> **update**(`content`, `reason`?): `Promise`\<`WikiPage`\> + +Update this page. + +#### Parameters + +##### content + +`string` + +##### reason? + +`string` + +#### Returns + +`Promise`\<`WikiPage`\> + +*** + + + +### updateSettings() + +> **updateSettings**(`options`): `Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> + +Update the settings for this page. + +#### Parameters + +##### options + +`Omit`\<[`UpdatePageSettingsOptions`](../type-aliases/UpdatePageSettingsOptions.md), `"subredditName"` \| `"page"`\> + +#### Returns + +`Promise`\<[`WikiPageSettings`](WikiPageSettings.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPageRevision.md b/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPageRevision.md new file mode 100644 index 00000000..72e10ded --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPageRevision.md @@ -0,0 +1,119 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: WikiPageRevision + +## Constructors + + + +### new WikiPageRevision() + +> **new WikiPageRevision**(`data`): `WikiPageRevision` + +#### Parameters + +##### data + +`WikiPageRevision` + +#### Returns + +`WikiPageRevision` + +## Accessors + + + +### author + +#### Get Signature + +> **get** **author**(): [`User`](User.md) + +##### Returns + +[`User`](User.md) + +*** + + + +### date + +#### Get Signature + +> **get** **date**(): `Date` + +##### Returns + +`Date` + +*** + + + +### hidden + +#### Get Signature + +> **get** **hidden**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### id + +#### Get Signature + +> **get** **id**(): `string` + +##### Returns + +`string` + +*** + + + +### page + +#### Get Signature + +> **get** **page**(): `string` + +##### Returns + +`string` + +*** + + + +### reason + +#### Get Signature + +> **get** **reason**(): `string` + +##### Returns + +`string` + +## Methods + + + +### toJSON() + +> **toJSON**(): `Pick`\<`WikiPageRevision`, `"reason"` \| `"id"` \| `"date"` \| `"hidden"` \| `"page"`\> & `object` + +#### Returns + +`Pick`\<`WikiPageRevision`, `"reason"` \| `"id"` \| `"date"` \| `"hidden"` \| `"page"`\> & `object` diff --git a/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPageSettings.md b/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPageSettings.md new file mode 100644 index 00000000..29b4dc15 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/classes/WikiPageSettings.md @@ -0,0 +1,77 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Class: WikiPageSettings + +## Constructors + + + +### new WikiPageSettings() + +> **new WikiPageSettings**(`data`): `WikiPageSettings` + +#### Parameters + +##### data + +`WikiPageSettings_Data` + +#### Returns + +`WikiPageSettings` + +## Accessors + + + +### editors + +#### Get Signature + +> **get** **editors**(): [`User`](User.md)[] + +##### Returns + +[`User`](User.md)[] + +*** + + + +### listed + +#### Get Signature + +> **get** **listed**(): `boolean` + +##### Returns + +`boolean` + +*** + + + +### permLevel + +#### Get Signature + +> **get** **permLevel**(): [`WikiPagePermissionLevel`](../enumerations/WikiPagePermissionLevel.md) + +##### Returns + +[`WikiPagePermissionLevel`](../enumerations/WikiPagePermissionLevel.md) + +## Methods + + + +### toJSON() + +> **toJSON**(): `Pick`\<`WikiPageSettings`, `"listed"` \| `"permLevel"`\> & `object` + +#### Returns + +`Pick`\<`WikiPageSettings`, `"listed"` \| `"permLevel"`\> & `object` diff --git a/versioned_docs/version-0.14/api/redditapi/models/enumerations/AboutLocations.md b/versioned_docs/version-0.14/api/redditapi/models/enumerations/AboutLocations.md new file mode 100644 index 00000000..f2315e07 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/enumerations/AboutLocations.md @@ -0,0 +1,45 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Enumeration: AboutLocations + +## Enumeration Members + + + +### Edited + +> **Edited**: `"edited"` + +*** + + + +### Modqueue + +> **Modqueue**: `"modqueue"` + +*** + + + +### Reports + +> **Reports**: `"reports"` + +*** + + + +### Spam + +> **Spam**: `"spam"` + +*** + + + +### Unmoderated + +> **Unmoderated**: `"unmoderated"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/enumerations/FlairType.md b/versioned_docs/version-0.14/api/redditapi/models/enumerations/FlairType.md new file mode 100644 index 00000000..c7861e4a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/enumerations/FlairType.md @@ -0,0 +1,21 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Enumeration: FlairType + +## Enumeration Members + + + +### Post + +> **Post**: `"LINK_FLAIR"` + +*** + + + +### User + +> **User**: `"USER_FLAIR"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/enumerations/ModMailActionType.md b/versioned_docs/version-0.14/api/redditapi/models/enumerations/ModMailActionType.md new file mode 100644 index 00000000..1595cf76 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/enumerations/ModMailActionType.md @@ -0,0 +1,113 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Enumeration: ModMailActionType + +An ActionType describes a particular logged action within a conversation. For example, +if a mod highlights a conversation, a ModerationAction record with the type `Highlighted` +would be created. + +## Enumeration Members + + + +### Approved + +> **Approved**: `"Approved"` + +*** + + + +### Archived + +> **Archived**: `"Archived"` + +*** + + + +### Banned + +> **Banned**: `"Banned"` + +*** + + + +### Disapproved + +> **Disapproved**: `"Disapproved"` + +*** + + + +### Filtered + +> **Filtered**: `"Filtered"` + +*** + + + +### Highlighted + +> **Highlighted**: `"Highlighted"` + +*** + + + +### Muted + +> **Muted**: `"Muted"` + +*** + + + +### ReportedToAdmins + +> **ReportedToAdmins**: `"ReportedToAdmins"` + +*** + + + +### Unarchived + +> **Unarchived**: `"Unarchived"` + +*** + + + +### Unbanned + +> **Unbanned**: `"Unbanned"` + +*** + + + +### Unfiltered + +> **Unfiltered**: `"Unfiltered"` + +*** + + + +### Unhighlighted + +> **Unhighlighted**: `"Unhighlighted"` + +*** + + + +### Unmuted + +> **Unmuted**: `"Unmuted"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/enumerations/ModMailConversationState.md b/versioned_docs/version-0.14/api/redditapi/models/enumerations/ModMailConversationState.md new file mode 100644 index 00000000..8bf2fb04 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/enumerations/ModMailConversationState.md @@ -0,0 +1,53 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Enumeration: ModMailConversationState + +## Enumeration Members + + + +### Appeals + +> **Appeals**: `"Appeals"` + +*** + + + +### Archived + +> **Archived**: `"Archived"` + +*** + + + +### Filtered + +> **Filtered**: `"Filtered"` + +*** + + + +### InProgress + +> **InProgress**: `"InProgress"` + +*** + + + +### JoinRequests + +> **JoinRequests**: `"JoinRequests"` + +*** + + + +### New + +> **New**: `"New"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/enumerations/SocialLinkType.md b/versioned_docs/version-0.14/api/redditapi/models/enumerations/SocialLinkType.md new file mode 100644 index 00000000..e9d68d96 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/enumerations/SocialLinkType.md @@ -0,0 +1,213 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Enumeration: SocialLinkType + +## Enumeration Members + + + +### Beacons + +> **Beacons**: `"BEACONS"` + +*** + + + +### BuyMeACoffee + +> **BuyMeACoffee**: `"BUY_ME_A_COFFEE"` + +*** + + + +### Cameo + +> **Cameo**: `"CAMEO"` + +*** + + + +### CashApp + +> **CashApp**: `"CASH_APP"` + +*** + + + +### Custom + +> **Custom**: `"CUSTOM"` + +*** + + + +### Discord + +> **Discord**: `"DISCORD"` + +*** + + + +### Facebook + +> **Facebook**: `"FACEBOOK"` + +*** + + + +### Indiegogo + +> **Indiegogo**: `"INDIEGOGO"` + +*** + + + +### Instagram + +> **Instagram**: `"INSTAGRAM"` + +*** + + + +### Kickstarter + +> **Kickstarter**: `"KICKSTARTER"` + +*** + + + +### Kofi + +> **Kofi**: `"KOFI"` + +*** + + + +### Linktree + +> **Linktree**: `"LINKTREE"` + +*** + + + +### Onlyfans + +> **Onlyfans**: `"ONLYFANS"` + +*** + + + +### Patreon + +> **Patreon**: `"PATREON"` + +*** + + + +### Paypal + +> **Paypal**: `"PAYPAL"` + +*** + + + +### Reddit + +> **Reddit**: `"REDDIT"` + +*** + + + +### Shopify + +> **Shopify**: `"SHOPIFY"` + +*** + + + +### Soundcloud + +> **Soundcloud**: `"SOUNDCLOUD"` + +*** + + + +### Spotify + +> **Spotify**: `"SPOTIFY"` + +*** + + + +### Substack + +> **Substack**: `"SUBSTACK"` + +*** + + + +### Tiktok + +> **Tiktok**: `"TIKTOK"` + +*** + + + +### Tumblr + +> **Tumblr**: `"TUMBLR"` + +*** + + + +### Twitch + +> **Twitch**: `"TWITCH"` + +*** + + + +### Twitter + +> **Twitter**: `"TWITTER"` + +*** + + + +### Venmo + +> **Venmo**: `"VENMO"` + +*** + + + +### Youtube + +> **Youtube**: `"YOUTUBE"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/enumerations/WikiPagePermissionLevel.md b/versioned_docs/version-0.14/api/redditapi/models/enumerations/WikiPagePermissionLevel.md new file mode 100644 index 00000000..8c60e57a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/enumerations/WikiPagePermissionLevel.md @@ -0,0 +1,35 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Enumeration: WikiPagePermissionLevel + +## Enumeration Members + + + +### APPROVED\_CONTRIBUTORS\_ONLY + +> **APPROVED\_CONTRIBUTORS\_ONLY**: `1` + +Only approved wiki contributors for this page may edit + +*** + + + +### MODS\_ONLY + +> **MODS\_ONLY**: `2` + +Only mods may edit and view + +*** + + + +### SUBREDDIT\_PERMISSIONS + +> **SUBREDDIT\_PERMISSIONS**: `0` + +Use subreddit wiki permissions diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getModerationLog.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getModerationLog.md new file mode 100644 index 00000000..7097b20f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getModerationLog.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getModerationLog() + +> **getModerationLog**(`options`): [`Listing`](../classes/Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> + +## Parameters + +### options + +[`GetModerationLogOptions`](../type-aliases/GetModerationLogOptions.md) + +## Returns + +[`Listing`](../classes/Listing.md)\<[`ModAction`](../interfaces/ModAction.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditInfoById.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditInfoById.md new file mode 100644 index 00000000..a41b5aed --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditInfoById.md @@ -0,0 +1,23 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getSubredditInfoById() + +> **getSubredditInfoById**(`subredditId`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by ID + +## Parameters + +### subredditId + +`` `t5_${string}` `` + +The ID (starting with t5_) of the subreddit to retrieve. e.g. t5_2qjpg + +## Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditInfoByName.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditInfoByName.md new file mode 100644 index 00000000..4f659de6 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditInfoByName.md @@ -0,0 +1,23 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getSubredditInfoByName() + +> **getSubredditInfoByName**(`subredditName`): `Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +Gets a [SubredditInfo](../type-aliases/SubredditInfo.md) object by name + +## Parameters + +### subredditName + +`string` + +The name of a subreddit omitting the r/. This is case-insensitive. + +## Returns + +`Promise`\<[`SubredditInfo`](../type-aliases/SubredditInfo.md)\> + +A Promise that resolves a SubredditInfo object. diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditLeaderboard.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditLeaderboard.md new file mode 100644 index 00000000..04a173e1 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditLeaderboard.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getSubredditLeaderboard() + +> **getSubredditLeaderboard**(`subredditId`): `Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> + +## Parameters + +### subredditId + +`` `t5_${string}` `` + +## Returns + +`Promise`\<[`SubredditLeaderboard`](../type-aliases/SubredditLeaderboard.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditStyles.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditStyles.md new file mode 100644 index 00000000..269bf9b0 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getSubredditStyles.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getSubredditStyles() + +> **getSubredditStyles**(`subredditId`): `Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> + +## Parameters + +### subredditId + +`` `t5_${string}` `` + +## Returns + +`Promise`\<[`SubredditStyles`](../type-aliases/SubredditStyles.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getVaultByAddress.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getVaultByAddress.md new file mode 100644 index 00000000..2dc57a75 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getVaultByAddress.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getVaultByAddress() + +> **getVaultByAddress**(`address`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +## Parameters + +### address + +`string` + +## Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/functions/getVaultByUserId.md b/versioned_docs/version-0.14/api/redditapi/models/functions/getVaultByUserId.md new file mode 100644 index 00000000..ebc44c30 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/functions/getVaultByUserId.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Function: getVaultByUserId() + +> **getVaultByUserId**(`userId`): `Promise`\<[`Vault`](../type-aliases/Vault.md)\> + +## Parameters + +### userId + +`` `t2_${string}` `` + +## Returns + +`Promise`\<[`Vault`](../type-aliases/Vault.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/interfaces/ModAction.md b/versioned_docs/version-0.14/api/redditapi/models/interfaces/ModAction.md new file mode 100644 index 00000000..d3c97828 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/interfaces/ModAction.md @@ -0,0 +1,111 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Interface: ModAction + +## Properties + + + +### createdAt + +> **createdAt**: `Date` + +When the action took place. + +*** + + + +### description? + +> `optional` **description**: `string` + +The string "Page modmail-stats edited: Daily update of the +modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is +made up of `description` and `details`. The "Page modmail-stats edited" is +the "description". + +*** + + + +### details? + +> `optional` **details**: `string` + +The string "Page modmail-stats edited: Daily update of the +modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is +made up of `description` and `details`. The "Daily update of the +modmail-stats (Wed Jul 02 2025 08:05:47 UTC+0200 (Europe/Amsterdam))" is +the "details". + +*** + + + +### id + +> **id**: `string` + +A string like `"ModAction_1b1af634-5b87-11f0-a4f1-4ddd27626cc4"` +identifying the ModAction. + +*** + + + +### moderatorId + +> **moderatorId**: `` `t2_${string}` `` + +*** + + + +### moderatorName + +> **moderatorName**: `string` + +The username of the moderator. + +*** + + + +### subredditId + +> **subredditId**: `` `t5_${string}` `` + +The ID of the subreddit the action took place. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the action took place. + +*** + + + +### target? + +> `optional` **target**: [`ModActionTarget`](../type-aliases/ModActionTarget.md) + +Some context of the affected item of the modaction. + +*** + + + +### type + +> **type**: [`ModActionType`](../type-aliases/ModActionType.md) + +The type of the action. Think of what happened. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AboutSubredditTypes.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AboutSubredditTypes.md new file mode 100644 index 00000000..38bebd16 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AboutSubredditTypes.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: AboutSubredditTypes + +> **AboutSubredditTypes** = `"comment"` \| `"post"` \| `"all"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AddRemovalNoteOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AddRemovalNoteOptions.md new file mode 100644 index 00000000..f539d10a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AddRemovalNoteOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: AddRemovalNoteOptions + +> **AddRemovalNoteOptions** = `Prettify`\<`PostRemovalNoteRequest`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AddWidgetData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AddWidgetData.md new file mode 100644 index 00000000..e3657c93 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AddWidgetData.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: AddWidgetData + +> **AddWidgetData** = `AddImageWidgetRequest` & `object` \| `AddCalendarWidgetRequest` & `object` \| `AddTextAreaWidgetRequest` & `object` \| `AddButtonWidgetRequest` & `object` \| `AddCommunityListWidgetRequest` & `object` \| `AddPostFlairWidgetRequest` & `object` \| `AddCustomWidgetRequest` & `object` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AllowableFlairContent.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AllowableFlairContent.md new file mode 100644 index 00000000..fec00da0 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/AllowableFlairContent.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: AllowableFlairContent + +> **AllowableFlairContent** = `"all"` \| `"emoji"` \| `"text"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BackgroundImagePosition.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BackgroundImagePosition.md new file mode 100644 index 00000000..d15254c4 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BackgroundImagePosition.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: BackgroundImagePosition + +> **BackgroundImagePosition** = `"cover"` \| `"tiled"` \| `"centered"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BanUserOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BanUserOptions.md new file mode 100644 index 00000000..61f43a67 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BanUserOptions.md @@ -0,0 +1,63 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: BanUserOptions + +> **BanUserOptions** = `object` + +## Properties + + + +### context? + +> `optional` **context**: `string` + +*** + + + +### duration? + +> `optional` **duration**: `number` + +*** + + + +### message? + +> `optional` **message**: `string` + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### reason? + +> `optional` **reason**: `string` + +*** + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BanWikiContributorOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BanWikiContributorOptions.md new file mode 100644 index 00000000..79d59c84 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BanWikiContributorOptions.md @@ -0,0 +1,47 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: BanWikiContributorOptions + +> **BanWikiContributorOptions** = `object` + +## Properties + + + +### duration? + +> `optional` **duration**: `number` + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### reason? + +> `optional` **reason**: `string` + +*** + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BannerHeight.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BannerHeight.md new file mode 100644 index 00000000..e89e2b98 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/BannerHeight.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: BannerHeight + +> **BannerHeight** = `"small"` \| `"medium"` \| `"large"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentMediaTypes.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentMediaTypes.md new file mode 100644 index 00000000..d373be28 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentMediaTypes.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CommentMediaTypes + +> **CommentMediaTypes** = `"giphy"` \| `"static"` \| `"animated"` \| `"expression"` \| `"video"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentSort.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentSort.md new file mode 100644 index 00000000..0ddd6d1a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentSort.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CommentSort + +> **CommentSort** = `"confidence"` \| `"top"` \| `"new"` \| `"controversial"` \| `"old"` \| `"random"` \| `"qa"` \| `"live"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentSubmissionOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentSubmissionOptions.md new file mode 100644 index 00000000..4c91ced0 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommentSubmissionOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CommentSubmissionOptions + +> **CommentSubmissionOptions** = \{ `runAs`: `"USER"` \| `"APP"`; `text`: `string`; \} \| \{ `richtext`: `object` \| `RichTextBuilder`; `runAs`: `"USER"` \| `"APP"`; \} diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommonFlair.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommonFlair.md new file mode 100644 index 00000000..c8e35d83 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommonFlair.md @@ -0,0 +1,109 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CommonFlair + +> **CommonFlair** = `object` + +This type is used for both the link and author flairs on Post and Comment objects. + +## Properties + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +Flair background color as a hex color string (# prefixed) + +#### Example + +```ts +"#FF4500" +``` + +*** + + + +### cssClass? + +> `optional` **cssClass**: `string` + +Custom CSS classes from the subreddit's stylesheet to apply to the flair if rendered as HTML + +*** + + + +### richtext + +> **richtext**: `object`[] + +RichText object representation of the flair + +#### elementType? + +> `optional` **elementType**: `string` + +Enum of element types. e.g. emoji or text + +#### emojiRef? + +> `optional` **emojiRef**: `string` + +Emoji references, e.g. ":rainbow:" + +#### text? + +> `optional` **text**: `string` + +Text to show up in the flair, e.g. "Need Advice" + +#### url? + +> `optional` **url**: `string` + +url string, e.g. "https://reddit.com/" + +*** + + + +### templateId? + +> `optional` **templateId**: `string` + +Flair template ID to use when rendering this flair + +*** + + + +### text? + +> `optional` **text**: `string` + +Plain text representation of the flair + +*** + + + +### textColor? + +> `optional` **textColor**: `string` + +One of: "light", "dark" + +*** + + + +### type? + +> `optional` **type**: `string` + +One of: "text", "richtext" diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommonSubmitPostOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommonSubmitPostOptions.md new file mode 100644 index 00000000..bcf89c3e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommonSubmitPostOptions.md @@ -0,0 +1,63 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CommonSubmitPostOptions + +> **CommonSubmitPostOptions** = `object` + +## Properties + + + +### flairId? + +> `optional` **flairId**: `string` + +*** + + + +### flairText? + +> `optional` **flairText**: `string` + +*** + + + +### nsfw? + +> `optional` **nsfw**: `boolean` + +*** + + + +### runAs? + +> `optional` **runAs**: `"USER"` \| `"APP"` + +*** + + + +### sendreplies? + +> `optional` **sendreplies**: `boolean` + +*** + + + +### spoiler? + +> `optional` **spoiler**: `boolean` + +*** + + + +### title + +> **title**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommunityNameFormat.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommunityNameFormat.md new file mode 100644 index 00000000..0d8f989f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CommunityNameFormat.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CommunityNameFormat + +> **CommunityNameFormat** = `"slashtag"` \| `"pretty"` \| `"hide"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationData.md new file mode 100644 index 00000000..a76eeadb --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationData.md @@ -0,0 +1,218 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ConversationData + +> **ConversationData** = `object` + +## Properties + + + +### authors + +> **authors**: [`Participant`](Participant.md)[] + +The authors of each message in the modmail conversation. + +*** + + + +### conversationType? + +> `optional` **conversationType**: `string` + +A ConversationType specifies whether a conversation is with a subreddit +itself, with another user, or with another subreddit entirely. +- `sr_user` - This is a conversation with another user outside of the + subreddit. The participant ID is that user's ID. +- `internal` - This is a Mod Discussion, internal to the subreddit. There + is no other participant. +- `sr_sr` - This is a conversation is with another subreddit. The + participant will have a subreddit ID. + +*** + + + +### id? + +> `optional` **id**: `string` + +Conversation ID + +*** + + + +### isAuto? + +> `optional` **isAuto**: `boolean` + +Is the conversation automatically generated e.g. from automod, u/reddit + +*** + + + +### isHighlighted? + +> `optional` **isHighlighted**: `boolean` + +Is the conversation highlighted + +*** + + + +### isInternal? + +> `optional` **isInternal**: `boolean` + +Is the conversation internal (i.e. mod only) + +*** + + + +### lastModUpdate? + +> `optional` **lastModUpdate**: `string` + +The last datetime a mod from the owning subreddit made any interaction +with the conversation. + +(Note that if this is a subreddit to subreddit conversation, the mods of +the participant subreddit are irrelevant and do not affect this field.) + +*** + + + +### lastUnread? + +> `optional` **lastUnread**: `string` + +The datetime of the last unread message within this conversation for the current viewer. + +*** + + + +### lastUpdated? + +> `optional` **lastUpdated**: `string` + +The datetime of the last time the conversation was update. + +*** + + + +### lastUserUpdate? + +> `optional` **lastUserUpdate**: `string` + +The last datetime a user made any interaction with the conversation + +*** + + + +### messages + +> **messages**: `object` + +Conversation messages + +#### Index Signature + +\[`id`: `string`\]: [`MessageData`](MessageData.md) + +#### Example + +```ts +const arrayOfMessages = Object.values(conversation.messages); +const messageById = conversation.messages[messageId]; +``` + +*** + + + +### modActions + +> **modActions**: `object` + +Conversation mod actions + +#### Index Signature + +\[`id`: `string`\]: [`ModActionData`](ModActionData.md) + +#### Example + +```ts +const arrayOfModActions = Object.values(conversation.modActions); +const modActionById = conversation.modActions[modActionId]; +``` + +*** + + + +### numMessages? + +> `optional` **numMessages**: `number` + +Number of messages (not actions) in the conversation + +*** + + + +### participant? + +> `optional` **participant**: [`Participant`](Participant.md) + +Participant. Is absent for mod discussions + +*** + + + +### state? + +> `optional` **state**: [`ModMailConversationState`](../enumerations/ModMailConversationState.md) + +State of the conversation + +*** + + + +### subject? + +> `optional` **subject**: `string` + +Suject of the conversation + +*** + + + +### subreddit? + +> `optional` **subreddit**: `object` + +Subreddit owning the modmail conversation + +#### displayName? + +> `optional` **displayName**: `string` + +#### id? + +> `optional` **id**: `T5` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationResponse.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationResponse.md new file mode 100644 index 00000000..d3ed6130 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationResponse.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ConversationResponse + +> **ConversationResponse** = `object` + +## Properties + + + +### conversation + +> **conversation**: [`ConversationData`](ConversationData.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationStateFilter.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationStateFilter.md new file mode 100644 index 00000000..410fb49e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationStateFilter.md @@ -0,0 +1,12 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ConversationStateFilter + +> **ConversationStateFilter** = `"all"` \| `"new"` \| `"inprogress"` \| `"archived"` \| `"appeals"` \| `"join_requests"` \| `"highlighted"` \| `"mod"` \| `"notifications"` \| `"inbox"` \| `"filtered"` \| `"default"` + +A Conversation State is a way in which conversations may be filtered within the UI. + +A conversation can be in more than one state. +For example, a conversation may be both 'highlighted' and 'inprogress'. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationUserData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationUserData.md new file mode 100644 index 00000000..fdeeff0a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ConversationUserData.md @@ -0,0 +1,155 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ConversationUserData + +> **ConversationUserData** = `object` + +## Properties + + + +### approveStatus? + +> `optional` **approveStatus**: `object` + +#### isApproved? + +> `optional` **isApproved**: `boolean` + +*** + + + +### banStatus? + +> `optional` **banStatus**: `object` + +#### endDate? + +> `optional` **endDate**: `string` + +#### isBanned? + +> `optional` **isBanned**: `boolean` + +#### isPermanent? + +> `optional` **isPermanent**: `boolean` + +#### reason? + +> `optional` **reason**: `string` + +*** + + + +### created? + +> `optional` **created**: `string` + +When was created + +*** + + + +### id? + +> `optional` **id**: `T2` + +User ID + +*** + + + +### isShadowBanned? + +> `optional` **isShadowBanned**: `boolean` + +*** + + + +### isSuspended? + +> `optional` **isSuspended**: `boolean` + +*** + + + +### muteStatus? + +> `optional` **muteStatus**: `object` + +#### endDate? + +> `optional` **endDate**: `string` + +#### isMuted? + +> `optional` **isMuted**: `boolean` + +#### muteCount? + +> `optional` **muteCount**: `number` + +#### reason? + +> `optional` **reason**: `string` + +*** + + + +### name? + +> `optional` **name**: `string` + +Username + +*** + + + +### recentComments + +> **recentComments**: `object` + +Recent comments + +#### Index Signature + +\[`id`: `` `t1_${string}` ``\]: `object` + +*** + + + +### recentConvos + +> **recentConvos**: `object` + +Recent conversations + +#### Index Signature + +\[`id`: `string`\]: `object` + +*** + + + +### recentPosts + +> **recentPosts**: `object` + +Recent posts + +#### Index Signature + +\[`id`: `` `t3_${string}` ``\]: `object` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateFlairTemplateOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateFlairTemplateOptions.md new file mode 100644 index 00000000..3d14f286 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateFlairTemplateOptions.md @@ -0,0 +1,85 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CreateFlairTemplateOptions + +> **CreateFlairTemplateOptions** = `object` + +## Properties + + + +### allowableContent? + +> `optional` **allowableContent**: [`AllowableFlairContent`](AllowableFlairContent.md) + +The flair template's allowable content. Either 'all', 'emoji', or 'text'. + +*** + + + +### allowUserEdits? + +> `optional` **allowUserEdits**: `boolean` + +Whether or not users are allowed to edit this flair template before using it. + +*** + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +The background color of the flair. Either 'transparent' or a hex color code. e.g. #FFC0CB + +*** + + + +### maxEmojis? + +> `optional` **maxEmojis**: `number` + +*** + + + +### modOnly? + +> `optional` **modOnly**: `boolean` + +Whether or not this flair template is only available to moderators. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit to create the flair template in. + +*** + + + +### text + +> **text**: `string` + +The text to display in the flair. + +*** + + + +### textColor? + +> `optional` **textColor**: [`FlairTextColor`](FlairTextColor.md) + +Either 'dark' or 'light'. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateModNoteOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateModNoteOptions.md new file mode 100644 index 00000000..67c5d8b9 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateModNoteOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CreateModNoteOptions + +> **CreateModNoteOptions** = `Prettify`\<`PostNotesRequest` & `object`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateRelationshipOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateRelationshipOptions.md new file mode 100644 index 00000000..c5f51c50 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateRelationshipOptions.md @@ -0,0 +1,81 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CreateRelationshipOptions + +> **CreateRelationshipOptions** = `object` + +## Properties + + + +### banContext? + +> `optional` **banContext**: `string` + +The ID of the post or comment that caused the ban. + +*** + + + +### banMessage? + +> `optional` **banMessage**: `string` + +*** + + + +### banReason? + +> `optional` **banReason**: `string` + +*** + + + +### duration? + +> `optional` **duration**: `number` + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### permissions? + +> `optional` **permissions**: [`ModeratorPermission`](ModeratorPermission.md)[] + +*** + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### type + +> **type**: [`RelationshipType`](RelationshipType.md) + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateRuleOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateRuleOptions.md new file mode 100644 index 00000000..8d3a0969 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateRuleOptions.md @@ -0,0 +1,19 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CreateRuleOptions + +> **CreateRuleOptions** = `Omit`\<`AddSubredditRuleRequest`, `"r"` \| `"kind"` \| `"violationReason"`\> & `object` + +Options for creating a new subreddit rule. + +## Type declaration + +### kind + +> **kind**: `"all"` \| `"link"` \| `"comment"` + +### violationReason? + +> `optional` **violationReason**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateWikiPageOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateWikiPageOptions.md new file mode 100644 index 00000000..da4684a9 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CreateWikiPageOptions.md @@ -0,0 +1,47 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CreateWikiPageOptions + +> **CreateWikiPageOptions** = `object` + +## Properties + + + +### content + +> **content**: `string` + +The content of the page. + +*** + + + +### page + +> **page**: `string` + +The name of the page to create. + +*** + + + +### reason? + +> `optional` **reason**: `string` + +The reason for creating the page. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit to create the page in. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CrosspostOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CrosspostOptions.md new file mode 100644 index 00000000..a7cb143f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CrosspostOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CrosspostOptions + +> **CrosspostOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `Required`\<[`SubredditOptions`](SubredditOptions.md)\> & `object` + +## Type declaration + +### postId + +> **postId**: `T3` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CrowdControlLevel.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CrowdControlLevel.md new file mode 100644 index 00000000..713923ad --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CrowdControlLevel.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CrowdControlLevel + +> **CrowdControlLevel** = `"OFF"` \| `"LENIENT"` \| `"MEDIUM"` \| `"STRICT"` + +Crowd control level for posts. Determines which comments should be collapsed due to crowd control. +OFF: Anyone with a Reddit account can comment freely. +LENIENT: Collapse comments from people who have negative karma in your community. +MEDIUM: Collapse comments from new Reddit users and people with negative karma in your community. +STRICT: Collapse comments from people who haven’t joined your community, new Reddit users, and people with negative karma in your community diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomPostRichTextFallback.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomPostRichTextFallback.md new file mode 100644 index 00000000..256dbcd8 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomPostRichTextFallback.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CustomPostRichTextFallback + +> **CustomPostRichTextFallback** = `RichTextBuilder` \| `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomPostTextFallbackOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomPostTextFallbackOptions.md new file mode 100644 index 00000000..6e07326b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomPostTextFallbackOptions.md @@ -0,0 +1,23 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CustomPostTextFallbackOptions + +> **CustomPostTextFallbackOptions** = \{ `text`: `string`; \} \| \{ `richtext`: [`CustomPostRichTextFallback`](CustomPostRichTextFallback.md); \} + +## Type declaration + +\{ `text`: `string`; \} + +### text + +> **text**: `string` + +May also include markdown. See https://www.reddit.com/r/reddit.com/wiki/markdown/ + +\{ `richtext`: [`CustomPostRichTextFallback`](CustomPostRichTextFallback.md); \} + +### richtext + +> **richtext**: [`CustomPostRichTextFallback`](CustomPostRichTextFallback.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomizationFlag.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomizationFlag.md new file mode 100644 index 00000000..428d7972 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/CustomizationFlag.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: CustomizationFlag + +> **CustomizationFlag** = `"default"` \| `"custom"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/DeleteNotesOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/DeleteNotesOptions.md new file mode 100644 index 00000000..90e77750 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/DeleteNotesOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: DeleteNotesOptions + +> **DeleteNotesOptions** = `Prettify`\<`DeleteNotesRequest`\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EditCommentOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EditCommentOptions.md new file mode 100644 index 00000000..16783dae --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EditCommentOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: EditCommentOptions + +> **EditCommentOptions** = [`CommentSubmissionOptions`](CommentSubmissionOptions.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EditFlairTemplateOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EditFlairTemplateOptions.md new file mode 100644 index 00000000..242c2d79 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EditFlairTemplateOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: EditFlairTemplateOptions + +> **EditFlairTemplateOptions** = [`CreateFlairTemplateOptions`](CreateFlairTemplateOptions.md) & `object` + +## Type declaration + +### id + +> **id**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EnrichedThumbnail.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EnrichedThumbnail.md new file mode 100644 index 00000000..c57377b6 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/EnrichedThumbnail.md @@ -0,0 +1,73 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: EnrichedThumbnail + +> **EnrichedThumbnail** = `object` + +Contains data about a post's thumbnail. Also contains a blurred version if the thumbnail is NSFW. + +## Properties + + + +### attribution? + +> `optional` **attribution**: `string` + +Attribution text for the thumbnail + +*** + + + +### image + +> **image**: `object` + +The image used for the thumbnail. May have different resolution from Post.thumbnail + +#### height + +> **height**: `number` + +#### url + +> **url**: `string` + +#### width + +> **width**: `number` + +*** + + + +### isObfuscatedDefault + +> **isObfuscatedDefault**: `boolean` + +Whether this thumbnail appears blurred by default + +*** + + + +### obfuscatedImage? + +> `optional` **obfuscatedImage**: `object` + +The blurred image for NSFW thumbnails + +#### height + +> **height**: `number` + +#### url + +> **url**: `string` + +#### width + +> **width**: `number` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairBackgroundColor.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairBackgroundColor.md new file mode 100644 index 00000000..34c6ea4c --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairBackgroundColor.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: FlairBackgroundColor + +> **FlairBackgroundColor** = `` `#${string}` `` \| `"transparent"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairSettings.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairSettings.md new file mode 100644 index 00000000..8cde5563 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairSettings.md @@ -0,0 +1,39 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: FlairSettings + +> **FlairSettings** = `object` + +## Properties + + + +### enabled + +> **enabled**: `boolean` + +*** + + + +### userFlairBackgroundColor? + +> `optional` **userFlairBackgroundColor**: `string` + +*** + + + +### userFlairTextColor? + +> `optional` **userFlairTextColor**: `string` + +*** + + + +### usersCanAssign + +> **usersCanAssign**: `boolean` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairTextColor.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairTextColor.md new file mode 100644 index 00000000..ff601f77 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/FlairTextColor.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: FlairTextColor + +> **FlairTextColor** = `"light"` \| `"dark"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GalleryMedia.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GalleryMedia.md new file mode 100644 index 00000000..0bb61b35 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GalleryMedia.md @@ -0,0 +1,43 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GalleryMedia + +> **GalleryMedia** = `object` + +Represents media that the post may contain. + +## Properties + + + +### height + +> **height**: `number` + +*** + + + +### status + +> **status**: [`GalleryMediaStatus`](GalleryMediaStatus.md) + +Status of the media. Media that were successfully uplaoded will have GalleryMediaStatus.VALID status + +*** + + + +### url + +> **url**: `string` + +*** + + + +### width + +> **width**: `number` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GalleryMediaStatus.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GalleryMediaStatus.md new file mode 100644 index 00000000..bc8a8ff6 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GalleryMediaStatus.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GalleryMediaStatus + +> **GalleryMediaStatus** = *typeof* `GalleryMediaStatusProto`\[keyof *typeof* `GalleryMediaStatusProto`\] diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetBestPostsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetBestPostsOptions.md new file mode 100644 index 00000000..3163dc91 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetBestPostsOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetBestPostsOptions + +> **GetBestPostsOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetCommentsByUserOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetCommentsByUserOptions.md new file mode 100644 index 00000000..36e5eb4b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetCommentsByUserOptions.md @@ -0,0 +1,63 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetCommentsByUserOptions + +> **GetCommentsByUserOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### sort? + +> `optional` **sort**: `"hot"` \| `"new"` \| `"top"` \| `"controversial"` + +*** + + + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetCommentsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetCommentsOptions.md new file mode 100644 index 00000000..e47cc424 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetCommentsOptions.md @@ -0,0 +1,55 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetCommentsOptions + +> **GetCommentsOptions** = `object` + +## Properties + + + +### commentId? + +> `optional` **commentId**: `T1` + +*** + + + +### depth? + +> `optional` **depth**: `number` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### postId + +> **postId**: `T3` + +*** + + + +### sort? + +> `optional` **sort**: [`CommentSort`](CommentSort.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationResponse.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationResponse.md new file mode 100644 index 00000000..863ee677 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationResponse.md @@ -0,0 +1,19 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetConversationResponse + +> **GetConversationResponse** = `object` & [`WithUserData`](WithUserData.md) + +## Type declaration + +### conversation? + +> `optional` **conversation**: [`ConversationData`](ConversationData.md) + +### participantSubreddit? + +> `optional` **participantSubreddit**: `ParticipantSubreddit` + +If the conversation is with another subreddit, what subreddit we are communicating with. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationsRequest.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationsRequest.md new file mode 100644 index 00000000..b4653540 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationsRequest.md @@ -0,0 +1,64 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetConversationsRequest + +> **GetConversationsRequest** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +modmail conversation id + +*** + + + +### limit? + +> `optional` **limit**: `number` + +an integer between 1 and 100 (default: 25) + +*** + + + +### sort? + +> `optional` **sort**: `"recent"` \| `"mod"` \| `"user"` \| `"unread"` + +Sort by: +- `recent` - Order by whenever anyone last updated the conversation, mod or participant +- `mod` - Order by the last time a mod updated the conversation +- `user` - Order by the last time a participant user updated the conversation +- `unread` - Order by the most recent unread message in the conversation for this mod + +*** + + + +### state? + +> `optional` **state**: [`ConversationStateFilter`](ConversationStateFilter.md) + +Filter by conversation state + +A conversation can be in more than one state. +For example, a conversation may be both 'highlighted' and 'inprogress'. + +*** + + + +### subreddits? + +> `optional` **subreddits**: `string`[] + +array of subreddit names diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationsResponse.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationsResponse.md new file mode 100644 index 00000000..4c6719bf --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetConversationsResponse.md @@ -0,0 +1,39 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetConversationsResponse + +> **GetConversationsResponse** = `object` + +## Properties + + + +### conversationIds + +> **conversationIds**: `string`[] + +Array of conversation ids, ordered by the sort parameter specified in [GetConversationsRequest](GetConversationsRequest.md). + +*** + + + +### conversations + +> **conversations**: `object` + +Conversations key-value map + +#### Index Signature + +\[`id`: `string`\]: [`ConversationData`](ConversationData.md) + +*** + + + +### viewerId? + +> `optional` **viewerId**: `T2` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetDuplicatesOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetDuplicatesOptions.md new file mode 100644 index 00000000..ecb0bd30 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetDuplicatesOptions.md @@ -0,0 +1,39 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetDuplicatesOptions + +> **GetDuplicatesOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### crosspostsOnly? + +> `optional` **crosspostsOnly**: `boolean` + +Only return duplicates that are crossposting this post. + +### postId + +> **postId**: `T3` + +Post ID with t3_ prefix (e.g. `t3_abc123`). The prefix is stripped internally. + +### show? + +> `optional` **show**: `string` + +Adding the string "all" will show all results regardless of user preferences. + +### sort? + +> `optional` **sort**: `"num_comments"` \| `"new"` + +One of: "num_comments", "new" + +### subredditName? + +> `optional` **subredditName**: `string` + +Limit search to the given subreddit name. The r/ prefix is optional. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetHotPostsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetHotPostsOptions.md new file mode 100644 index 00000000..889258d3 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetHotPostsOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetHotPostsOptions + +> **GetHotPostsOptions** = [`GetPostsOptions`](GetPostsOptions.md) & `object` + +## Type declaration + +### location? + +> `optional` **location**: `"GLOBAL"` \| `"US"` \| `"AR"` \| `"AU"` \| `"BG"` \| `"CA"` \| `"CL"` \| `"CO"` \| `"HR"` \| `"CZ"` \| `"FI"` \| `"FR"` \| `"DE"` \| `"GR"` \| `"HU"` \| `"IS"` \| `"IN"` \| `"IE"` \| `"IT"` \| `"JP"` \| `"MY"` \| `"MX"` \| `"NZ"` \| `"PH"` \| `"PL"` \| `"PT"` \| `"PR"` \| `"RO"` \| `"RS"` \| `"SG"` \| `"ES"` \| `"SE"` \| `"TW"` \| `"TH"` \| `"TR"` \| `"GB"` \| `"US_WA"` \| `"US_DE"` \| `"US_DC"` \| `"US_WI"` \| `"US_WV"` \| `"US_HI"` \| `"US_FL"` \| `"US_WY"` \| `"US_NH"` \| `"US_NJ"` \| `"US_NM"` \| `"US_TX"` \| `"US_LA"` \| `"US_NC"` \| `"US_ND"` \| `"US_NE"` \| `"US_TN"` \| `"US_NY"` \| `"US_PA"` \| `"US_CA"` \| `"US_NV"` \| `"US_VA"` \| `"US_CO"` \| `"US_AK"` \| `"US_AL"` \| `"US_AR"` \| `"US_VT"` \| `"US_IL"` \| `"US_GA"` \| `"US_IN"` \| `"US_IA"` \| `"US_OK"` \| `"US_AZ"` \| `"US_ID"` \| `"US_CT"` \| `"US_ME"` \| `"US_MD"` \| `"US_MA"` \| `"US_OH"` \| `"US_UT"` \| `"US_MO"` \| `"US_MN"` \| `"US_MI"` \| `"US_RI"` \| `"US_KS"` \| `"US_MT"` \| `"US_MS"` \| `"US_SC"` \| `"US_KY"` \| `"US_OR"` \| `"US_SD"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetModNotesOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetModNotesOptions.md new file mode 100644 index 00000000..cdda3eb9 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetModNotesOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetModNotesOptions + +> **GetModNotesOptions** = `Prettify`\<`Pick`\<`GetNotesRequest`, `"subreddit"` \| `"user"`\> & `object` & `Pick`\<[`ListingFetchOptions`](ListingFetchOptions.md), `"limit"` \| `"before"`\>\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetModerationLogOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetModerationLogOptions.md new file mode 100644 index 00000000..b40c6731 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetModerationLogOptions.md @@ -0,0 +1,27 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetModerationLogOptions + +> **GetModerationLogOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### moderatorUsernames? + +> `optional` **moderatorUsernames**: `string`[] + +(optional) A moderator filter. Accepts an array of usernames + +### subredditName + +> **subredditName**: `string` + +Subreddit name + +### type? + +> `optional` **type**: [`ModActionType`](ModActionType.md) + +Type of the Moderator action diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPageRevisionsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPageRevisionsOptions.md new file mode 100644 index 00000000..b9892a10 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPageRevisionsOptions.md @@ -0,0 +1,21 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetPageRevisionsOptions + +> **GetPageRevisionsOptions** = `Omit`\<[`ListingFetchOptions`](ListingFetchOptions.md), `"more"`\> & `object` + +## Type declaration + +### page? + +> `optional` **page**: `string` + +The name of the page to get revisions for. + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the page is in. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsByUserOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsByUserOptions.md new file mode 100644 index 00000000..a38ae38b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsByUserOptions.md @@ -0,0 +1,63 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetPostsByUserOptions + +> **GetPostsByUserOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### sort? + +> `optional` **sort**: `"hot"` \| `"new"` \| `"top"` \| `"controversial"` + +*** + + + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsOptions.md new file mode 100644 index 00000000..613fcf78 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetPostsOptions + +> **GetPostsOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### subredditName? + +> `optional` **subredditName**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsOptionsWithTimeframe.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsOptionsWithTimeframe.md new file mode 100644 index 00000000..9518f40e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPostsOptionsWithTimeframe.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetPostsOptionsWithTimeframe + +> **GetPostsOptionsWithTimeframe** = [`GetPostsOptions`](GetPostsOptions.md) & `object` + +## Type declaration + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPrivateMessagesOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPrivateMessagesOptions.md new file mode 100644 index 00000000..a1347836 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetPrivateMessagesOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetPrivateMessagesOptions + +> **GetPrivateMessagesOptions** = `Prettify`\<`object` & [`ListingFetchOptions`](ListingFetchOptions.md)\> diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSortedPostsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSortedPostsOptions.md new file mode 100644 index 00000000..204982a2 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSortedPostsOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetSortedPostsOptions + +> **GetSortedPostsOptions** = [`GetPostsOptionsWithTimeframe`](GetPostsOptionsWithTimeframe.md) & `object` + +## Type declaration + +### sort + +> **sort**: `"top"` \| `"controversial"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSubredditUsersByTypeOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSubredditUsersByTypeOptions.md new file mode 100644 index 00000000..c5aba63f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSubredditUsersByTypeOptions.md @@ -0,0 +1,21 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetSubredditUsersByTypeOptions + +> **GetSubredditUsersByTypeOptions** = [`ListingFetchOptions`](ListingFetchOptions.md) & `object` + +## Type declaration + +### subredditName + +> **subredditName**: `string` + +### type + +> **type**: `"banned"` \| `"muted"` \| `"wikibanned"` \| `"contributors"` \| `"wikicontributors"` \| `"moderators"` + +### username? + +> `optional` **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md new file mode 100644 index 00000000..6060c65e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetSubscribedSubredditsForCurrentUserOptions.md @@ -0,0 +1,39 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetSubscribedSubredditsForCurrentUserOptions + +> **GetSubscribedSubredditsForCurrentUserOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairBySubredditOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairBySubredditOptions.md new file mode 100644 index 00000000..5a714d50 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairBySubredditOptions.md @@ -0,0 +1,21 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetUserFlairBySubredditOptions + +> **GetUserFlairBySubredditOptions** = [`UserFlairPageOptions`](UserFlairPageOptions.md) & `object` + +## Type declaration + +### name? + +> `optional` **name**: `string` + +The username associated with the flair being retrieved. + +### subreddit + +> **subreddit**: `string` + +The subreddit associated with the flair being retrieved. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairBySubredditResponse.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairBySubredditResponse.md new file mode 100644 index 00000000..0b255291 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairBySubredditResponse.md @@ -0,0 +1,41 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetUserFlairBySubredditResponse + +> **GetUserFlairBySubredditResponse** = `object` + +## Properties + + + +### next? + +> `optional` **next**: `string` + +The user id of the last user flair in this slice. Its presence indicates +that there are more items that can be fetched. Pass this into the "after" parameter +in the next call to get the next slice of data + +*** + + + +### prev? + +> `optional` **prev**: `string` + +The user id of the first user flair in this slice. Its presence indicates +that there are items before this item that can be fetched. Pass this into the "before" parameter +in the next call to get the previous slice of data + +*** + + + +### users + +> **users**: [`UserFlair`](UserFlair.md)[] + +The list of user flair diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairOptions.md new file mode 100644 index 00000000..b6995028 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserFlairOptions.md @@ -0,0 +1,16 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetUserFlairOptions + +> **GetUserFlairOptions** = [`UserFlairPageOptions`](UserFlairPageOptions.md) & `object` + +## Type declaration + +### usernames? + +> `optional` **usernames**: `string`[] + +If provide the method will return the flairs for the provided users, if not provided +it will return a list of all users assigned flairs in the subreddit diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserOverviewOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserOverviewOptions.md new file mode 100644 index 00000000..a0e40888 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/GetUserOverviewOptions.md @@ -0,0 +1,63 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: GetUserOverviewOptions + +> **GetUserOverviewOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### limit? + +> `optional` **limit**: `number` + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +*** + + + +### sort? + +> `optional` **sort**: `"hot"` \| `"new"` \| `"top"` \| `"controversial"` + +*** + + + +### timeframe? + +> `optional` **timeframe**: `"hour"` \| `"day"` \| `"week"` \| `"month"` \| `"year"` \| `"all"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ImagePosition.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ImagePosition.md new file mode 100644 index 00000000..fd6554c8 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ImagePosition.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ImagePosition + +> **ImagePosition** = `"cover"` \| `"tiled"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/InternalSetPostFlairOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/InternalSetPostFlairOptions.md new file mode 100644 index 00000000..cffc0027 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/InternalSetPostFlairOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: InternalSetPostFlairOptions + +> **InternalSetPostFlairOptions** = [`SetFlairOptions`](SetFlairOptions.md) & `object` + +## Type declaration + +### postId + +> **postId**: `T3` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/LinkFlair.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/LinkFlair.md new file mode 100644 index 00000000..58ac2af1 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/LinkFlair.md @@ -0,0 +1,11 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ~~LinkFlair~~ + +> **LinkFlair** = [`CommonFlair`](CommonFlair.md) + +## Deprecated + +Use [CommonFlair](CommonFlair.md). diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ListingFetchOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ListingFetchOptions.md new file mode 100644 index 00000000..65c6676b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ListingFetchOptions.md @@ -0,0 +1,55 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ListingFetchOptions + +> **ListingFetchOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +The ID of the object to start at. + +*** + + + +### before? + +> `optional` **before**: `string` + +The ID of the object to end at. + +*** + + + +### limit? + +> `optional` **limit**: `number` + +The maximum number of objects to get. + +*** + + + +### more? + +> `optional` **more**: [`MoreObject`](MoreObject.md) + +*** + + + +### pageSize? + +> `optional` **pageSize**: `number` + +The number of objects to get per request. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ListingFetchResponse.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ListingFetchResponse.md new file mode 100644 index 00000000..7c9f74c0 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ListingFetchResponse.md @@ -0,0 +1,45 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ListingFetchResponse\ + +> **ListingFetchResponse**\<`T`\> = `object` + +## Type Parameters + +### T + +`T` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +*** + + + +### before? + +> `optional` **before**: `string` + +*** + + + +### children + +> **children**: `T`[] + +*** + + + +### more? + +> `optional` **more**: [`MoreObject`](MoreObject.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MenuPosition.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MenuPosition.md new file mode 100644 index 00000000..556cceb6 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MenuPosition.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: MenuPosition + +> **MenuPosition** = `"default"` \| `"overlay"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MessageData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MessageData.md new file mode 100644 index 00000000..5993176b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MessageData.md @@ -0,0 +1,69 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: MessageData + +> **MessageData** = `object` + +## Properties + + + +### author? + +> `optional` **author**: [`Participant`](Participant.md) + +*** + + + +### body? + +> `optional` **body**: `string` + +Message body + +*** + + + +### bodyMarkdown? + +> `optional` **bodyMarkdown**: `string` + +*** + + + +### date? + +> `optional` **date**: `string` + +When was created + +*** + + + +### id? + +> `optional` **id**: `string` + +Message ID + +*** + + + +### isInternal? + +> `optional` **isInternal**: `boolean` + +*** + + + +### participatingAs? + +> `optional` **participatingAs**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionData.md new file mode 100644 index 00000000..7cf867db --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionData.md @@ -0,0 +1,75 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModActionData + +> **ModActionData** = `object` + +## Properties + + + +### actionType + +> **actionType**: [`ModMailActionType`](../enumerations/ModMailActionType.md) + +Type of the action + +*** + + + +### author? + +> `optional` **author**: `object` + +Action author + +#### id? + +> `optional` **id**: `number` + +User id + +#### isAdmin? + +> `optional` **isAdmin**: `boolean` + +#### isDeleted? + +> `optional` **isDeleted**: `boolean` + +#### isHidden? + +> `optional` **isHidden**: `boolean` + +#### isMod? + +> `optional` **isMod**: `boolean` + +#### name? + +> `optional` **name**: `string` + +User name + +*** + + + +### date? + +> `optional` **date**: `string` + +When the action happened + +*** + + + +### id? + +> `optional` **id**: `string` + +Action id diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionTarget.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionTarget.md new file mode 100644 index 00000000..a532758f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionTarget.md @@ -0,0 +1,47 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModActionTarget + +> **ModActionTarget** = `object` + +## Properties + + + +### author? + +> `optional` **author**: `string` + +*** + + + +### body? + +> `optional` **body**: `string` + +*** + + + +### id + +> **id**: `string` + +*** + + + +### permalink? + +> `optional` **permalink**: `string` + +*** + + + +### title? + +> `optional` **title**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionType.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionType.md new file mode 100644 index 00000000..49fdfc83 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModActionType.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModActionType + +> **ModActionType** = `"banuser"` \| `"unbanuser"` \| `"spamlink"` \| `"removelink"` \| `"approvelink"` \| `"spamcomment"` \| `"removecomment"` \| `"approvecomment"` \| `"addmoderator"` \| `"showcomment"` \| `"invitemoderator"` \| `"uninvitemoderator"` \| `"acceptmoderatorinvite"` \| `"removemoderator"` \| `"addcontributor"` \| `"removecontributor"` \| `"editsettings"` \| `"editflair"` \| `"distinguish"` \| `"marknsfw"` \| `"wikibanned"` \| `"wikicontributor"` \| `"wikiunbanned"` \| `"wikipagelisted"` \| `"removewikicontributor"` \| `"wikirevise"` \| `"wikipermlevel"` \| `"ignorereports"` \| `"unignorereports"` \| `"setpermissions"` \| `"setsuggestedsort"` \| `"sticky"` \| `"unsticky"` \| `"setcontestmode"` \| `"unsetcontestmode"` \| `"lock"` \| `"unlock"` \| `"muteuser"` \| `"unmuteuser"` \| `"createrule"` \| `"editrule"` \| `"reorderrules"` \| `"deleterule"` \| `"spoiler"` \| `"unspoiler"` \| `"modmail_enrollment"` \| `"community_styling"` \| `"community_widgets"` \| `"markoriginalcontent"` \| `"collections"` \| `"events"` \| `"create_award"` \| `"disable_award"` \| `"delete_award"` \| `"enable_award"` \| `"mod_award_given"` \| `"hidden_award"` \| `"add_community_topics"` \| `"remove_community_topics"` \| `"create_scheduled_post"` \| `"edit_scheduled_post"` \| `"delete_scheduled_post"` \| `"submit_scheduled_post"` \| `"edit_post_requirements"` \| `"invitesubscriber"` \| `"submit_content_rating_survey"` \| `"adjust_post_crowd_control_level"` \| `"enable_post_crowd_control_filter"` \| `"disable_post_crowd_control_filter"` \| `"deleteoverriddenclassification"` \| `"overrideclassification"` \| `"reordermoderators"` \| `"snoozereports"` \| `"unsnoozereports"` \| `"addnote"` \| `"deletenote"` \| `"addremovalreason"` \| `"createremovalreason"` \| `"updateremovalreason"` \| `"deleteremovalreason"` \| `"reorderremovalreason"` \| `"dev_platform_app_changed"` \| `"dev_platform_app_disabled"` \| `"dev_platform_app_enabled"` \| `"dev_platform_app_installed"` \| `"dev_platform_app_uninstalled"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModLogOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModLogOptions.md new file mode 100644 index 00000000..da01da2f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModLogOptions.md @@ -0,0 +1,13 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModLogOptions\ + +> **ModLogOptions**\<`T`\> = `Omit`\<`AboutSubredditHelperOptions`\<`T`\>, `"location"`\> + +## Type Parameters + +### T + +`T` *extends* [`AboutSubredditTypes`](AboutSubredditTypes.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModNoteType.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModNoteType.md new file mode 100644 index 00000000..3f0b3b31 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModNoteType.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModNoteType + +> **ModNoteType** = `"NOTE"` \| `"APPROVAL"` \| `"REMOVAL"` \| `"BAN"` \| `"MUTE"` \| `"INVITE"` \| `"SPAM"` \| `"CONTENT_CHANGE"` \| `"MOD_ACTION"` \| `"ALL"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModeratorPermission.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModeratorPermission.md new file mode 100644 index 00000000..5903159b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModeratorPermission.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModeratorPermission + +> **ModeratorPermission** = `"all"` \| `"wiki"` \| `"posts"` \| `"access"` \| `"mail"` \| `"config"` \| `"flair"` \| `"chat_operator"` \| `"chat_config"` \| `"channels"` \| `"community_chat"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModeratorReport.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModeratorReport.md new file mode 100644 index 00000000..2e5c7709 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ModeratorReport.md @@ -0,0 +1,27 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ModeratorReport + +> **ModeratorReport** = `object` + +A moderator report attached to a post or comment. + +## Properties + + + +### author + +> **author**: `string` + +Username of the author without the u/ prefix, e.g. 'spez' + +*** + + + +### reason + +> **reason**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MoreObject.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MoreObject.md new file mode 100644 index 00000000..c0ff8956 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/MoreObject.md @@ -0,0 +1,31 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: MoreObject + +> **MoreObject** = `object` + +## Properties + + + +### children + +> **children**: `T1`[] + +*** + + + +### depth + +> **depth**: `number` + +*** + + + +### parentId + +> **parentId**: `T1` \| `T3` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Oembed.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Oembed.md new file mode 100644 index 00000000..829339b2 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Oembed.md @@ -0,0 +1,142 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: Oembed + +> **Oembed** = `object` + +oEmbed is a format for allowing an embedded representation of a URL on third party sites. +The simple API allows a website to display embedded content (such as photos or videos) +when a user posts a link to that resource, without having to parse the resource directly. +See: https://oembed.com/ + +## Properties + + + +### authorName? + +> `optional` **authorName**: `string` + +The name of the author/owner of the resource. E.g. "Reddit" + +*** + + + +### authorUrl? + +> `optional` **authorUrl**: `string` + +A URL for the author/owner of the resource. E.g. "https://www.youtube.com/@Reddit" + +*** + + + +### height? + +> `optional` **height**: `number` + +The width in pixels required to display the HTML. + +*** + + + +### html + +> **html**: `string` + +The HTML required to embed a video player. The HTML should have no padding or margins. Consumers may wish to load the HTML in an off-domain iframe to avoid XSS vulnerabilities. + +*** + + + +### providerName? + +> `optional` **providerName**: `string` + +A URL for the author/owner of the resource. E.g. "YouTube" + +*** + + + +### providerUrl? + +> `optional` **providerUrl**: `string` + +The name of the resource provider. E.g "https://www.youtube.com/" + +*** + + + +### thumbnailHeight? + +> `optional` **thumbnailHeight**: `number` + +The height of the optional thumbnail in pixels + +*** + + + +### thumbnailUrl? + +> `optional` **thumbnailUrl**: `string` + +A URL to a thumbnail image representing the resource. + +*** + + + +### thumbnailWidth? + +> `optional` **thumbnailWidth**: `number` + +The width of the optional thumbnail in pixels + +*** + + + +### title? + +> `optional` **title**: `string` + +A text title, describing the resource. + +*** + + + +### type + +> **type**: `string` + +The resource type. Valid values, along with value-specific parameters, are described below. E.g. "video" + +*** + + + +### version + +> **version**: `string` + +The oEmbed version number. This must be 1.0. + +*** + + + +### width? + +> `optional` **width**: `number` + +The height in pixels required to display the HTML. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Participant.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Participant.md new file mode 100644 index 00000000..5646a305 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Participant.md @@ -0,0 +1,81 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: Participant + +> **Participant** = `object` + +Conversation participant + +## Properties + + + +### id? + +> `optional` **id**: `T2` + +*** + + + +### isAdmin? + +> `optional` **isAdmin**: `boolean` + +*** + + + +### isApproved? + +> `optional` **isApproved**: `boolean` + +*** + + + +### isDeleted? + +> `optional` **isDeleted**: `boolean` + +*** + + + +### isHidden? + +> `optional` **isHidden**: `boolean` + +*** + + + +### isMod? + +> `optional` **isMod**: `boolean` + +*** + + + +### isOp? + +> `optional` **isOp**: `boolean` + +*** + + + +### isParticipant? + +> `optional` **isParticipant**: `boolean` + +*** + + + +### name? + +> `optional` **name**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PollData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PollData.md new file mode 100644 index 00000000..3bf7c3c7 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PollData.md @@ -0,0 +1,39 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PollData + +> **PollData** = `object` + +Aggregated poll data for a poll post. + +## Properties + + + +### options + +> **options**: [`PollOption`](PollOption.md)[] + +Options in the poll. + +*** + + + +### totalVoteCount + +> **totalVoteCount**: `number` + +Total number of votes cast in the poll. Aggregated across all PollOption objects. + +*** + + + +### votingEndTimestamp + +> **votingEndTimestamp**: `number` + +Time the poll voting closes, in Unix milliseconds. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PollOption.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PollOption.md new file mode 100644 index 00000000..e01edd05 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PollOption.md @@ -0,0 +1,39 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PollOption + +> **PollOption** = `object` + +Poll option on a poll post. + +## Properties + + + +### id + +> **id**: `string` + +ID of the poll option. + +*** + + + +### text + +> **text**: `string` + +The text of the poll option. + +*** + + + +### voteCount + +> **voteCount**: `number` + +The number of votes this poll option has received. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PositionedImagePosition.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PositionedImagePosition.md new file mode 100644 index 00000000..68979505 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PositionedImagePosition.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PositionedImagePosition + +> **PositionedImagePosition** = `"left"` \| `"right"` \| `"centered"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostCapabilities.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostCapabilities.md new file mode 100644 index 00000000..7e98bc59 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostCapabilities.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PostCapabilities + +> **PostCapabilities** = `"ama"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostSuggestedCommentSort.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostSuggestedCommentSort.md new file mode 100644 index 00000000..b315e23a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostSuggestedCommentSort.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PostSuggestedCommentSort + +> **PostSuggestedCommentSort** = `"BLANK"` \| `"CONFIDENCE"` \| `"CONTROVERSIAL"` \| `"LIVE"` \| `"NEW"` \| `"OLD"` \| `"QA"` \| `"RANDOM"` \| `"TOP"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostTextOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostTextOptions.md new file mode 100644 index 00000000..b8c73374 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostTextOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PostTextOptions + +> **PostTextOptions** = \{ `text`: `string`; \} \| \{ `richtext`: `object` \| `RichTextBuilder`; \} diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostType.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostType.md new file mode 100644 index 00000000..ca9308fd --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/PostType.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: PostType + +> **PostType** = `"link"` \| `"image"` \| `"video"` \| `"text"` \| `"spoiler"` \| `"poll"` \| `"gallery"` \| `"talk"` \| `"prediction"` \| `"videogif"` \| `"streaming"` \| `"crosspost"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RedditVideo.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RedditVideo.md new file mode 100644 index 00000000..a9f64d96 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RedditVideo.md @@ -0,0 +1,109 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: RedditVideo + +> **RedditVideo** = `object` + +Contains the data for a video hosted on Reddit that is in a post + +## Properties + + + +### bitrateKbps? + +> `optional` **bitrateKbps**: `number` + +The bitrate of the video in kilobits per second. E.g. 450 + +*** + + + +### dashUrl? + +> `optional` **dashUrl**: `string` + +The URL to the DASH playlist file. E.g. "https://v.redd.it/abc123/DASHPlaylist.mpd" + +*** + + + +### duration? + +> `optional` **duration**: `number` + +The duration of the video in seconds. E.g. 30 + +*** + + + +### fallbackUrl? + +> `optional` **fallbackUrl**: `string` + +The direct URL to the video. E.g. "https://v.redd.it/abc123/DASH_1080.mp4?source=fallback" + +*** + + + +### height? + +> `optional` **height**: `number` + +The height of the video in pixels. E.g. 1080 + +*** + + + +### hlsUrl? + +> `optional` **hlsUrl**: `string` + +The URL to the HLS playlist file. E.g. "https://v.redd.it/abc123/HLSPlaylist.m3u8" + +*** + + + +### isGif? + +> `optional` **isGif**: `boolean` + +If `true`, the video is a GIF + +*** + + + +### scrubberMediaUrl? + +> `optional` **scrubberMediaUrl**: `string` + +The URL to the scrubber media file. E.g. "https://v.redd.it/abc123/DASH_96.mp4" + +*** + + + +### transcodingStatus? + +> `optional` **transcodingStatus**: `string` + +The status of the transcoding process. E.g. "completed" + +*** + + + +### width? + +> `optional` **width**: `number` + +The width of the video in pixels. E.g. 1920 diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RelationshipType.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RelationshipType.md new file mode 100644 index 00000000..d61cc581 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RelationshipType.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: RelationshipType + +> **RelationshipType** = `"moderator_invite"` \| `"contributor"` \| `"banned"` \| `"muted"` \| `"wikibanned"` \| `"wikicontributor"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RemovalReason.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RemovalReason.md new file mode 100644 index 00000000..9170bc35 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RemovalReason.md @@ -0,0 +1,41 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: RemovalReason + +> **RemovalReason** = `object` + +Plain data for a subreddit removal reason. Use [Subreddit.updateRemovalReason](../classes/Subreddit.md#updateremovalreason), +[Subreddit.deleteRemovalReason](../classes/Subreddit.md#deleteremovalreason), or the matching [RedditClient](../../RedditClient/README.md) methods to change or +remove it. + +## Properties + + + +### id + +> **id**: `string` + +The ID of the removal reason. + +*** + + + +### message + +> **message**: `string` + +The message associated with the removal reason. + +*** + + + +### title + +> **title**: `string` + +The title of the removal reason. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RemoveRelationshipOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RemoveRelationshipOptions.md new file mode 100644 index 00000000..fceb2998 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/RemoveRelationshipOptions.md @@ -0,0 +1,31 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: RemoveRelationshipOptions + +> **RemoveRelationshipOptions** = `object` + +## Properties + + + +### subredditName + +> **subredditName**: `string` + +*** + + + +### type + +> **type**: [`RelationshipType`](RelationshipType.md) \| `"moderator"` + +*** + + + +### username + +> **username**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ReplyToCommentOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ReplyToCommentOptions.md new file mode 100644 index 00000000..bb647bfb --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/ReplyToCommentOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: ReplyToCommentOptions + +> **ReplyToCommentOptions** = [`CommentSubmissionOptions`](CommentSubmissionOptions.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SecureMedia.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SecureMedia.md new file mode 100644 index 00000000..5a7bc6cc --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SecureMedia.md @@ -0,0 +1,33 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SecureMedia + +> **SecureMedia** = `object` + +## Properties + + + +### oembed? + +> `optional` **oembed**: [`Oembed`](Oembed.md) + +*** + + + +### redditVideo? + +> `optional` **redditVideo**: [`RedditVideo`](RedditVideo.md) + +*** + + + +### type? + +> `optional` **type**: `string` + +The type of the oEmbed media, if present (e.g. "youtube.com") diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SendPrivateMessageAsSubredditOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SendPrivateMessageAsSubredditOptions.md new file mode 100644 index 00000000..61d4b03f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SendPrivateMessageAsSubredditOptions.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SendPrivateMessageAsSubredditOptions + +> **SendPrivateMessageAsSubredditOptions** = [`SendPrivateMessageOptions`](SendPrivateMessageOptions.md) & `object` + +## Type declaration + +### fromSubredditName + +> **fromSubredditName**: `string` + +The name of the subreddit the message is being sent from (without the leading r/) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SendPrivateMessageOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SendPrivateMessageOptions.md new file mode 100644 index 00000000..01ba78e3 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SendPrivateMessageOptions.md @@ -0,0 +1,37 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SendPrivateMessageOptions + +> **SendPrivateMessageOptions** = `object` + +## Properties + + + +### subject + +> **subject**: `string` + +The subject of the message. + +*** + + + +### text + +> **text**: `string` + +The body of the message in Markdown text format. + +*** + + + +### to + +> **to**: `string` + +Recipient username (without the leading u/), or /r/name for that subreddit's moderators. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetFlairOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetFlairOptions.md new file mode 100644 index 00000000..a081ab35 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetFlairOptions.md @@ -0,0 +1,67 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SetFlairOptions + +> **SetFlairOptions** = `object` + +## Properties + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +The flair background color. Either 'transparent' or a hex color code. e.g. #FFC0CB + +*** + + + +### cssClass? + +> `optional` **cssClass**: `string` + +The flair CSS class + +*** + + + +### flairTemplateId? + +> `optional` **flairTemplateId**: `string` + +The flair template's ID + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit of the item to set the flair on + +*** + + + +### text? + +> `optional` **text**: `string` + +The flair text + +*** + + + +### textColor? + +> `optional` **textColor**: [`FlairTextColor`](FlairTextColor.md) + +The flair text color. Either 'dark' or 'light'. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetPostFlairOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetPostFlairOptions.md new file mode 100644 index 00000000..306dfad4 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetPostFlairOptions.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SetPostFlairOptions + +> **SetPostFlairOptions** = [`SetFlairOptions`](SetFlairOptions.md) & `object` + +## Type declaration + +### postId + +> **postId**: `T3` + +The ID of the post to set the flair on diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetUserFlairBatchConfig.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetUserFlairBatchConfig.md new file mode 100644 index 00000000..cc07c40b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetUserFlairBatchConfig.md @@ -0,0 +1,37 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SetUserFlairBatchConfig + +> **SetUserFlairBatchConfig** = `object` + +## Properties + + + +### cssClass? + +> `optional` **cssClass**: `string` + +The flair CSS class + +*** + + + +### text? + +> `optional` **text**: `string` + +The flair text. Can't contain the comma character (",") + +*** + + + +### username + +> **username**: `string` + +The username of the user to edit the flair on diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetUserFlairOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetUserFlairOptions.md new file mode 100644 index 00000000..0e80e6de --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SetUserFlairOptions.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SetUserFlairOptions + +> **SetUserFlairOptions** = [`SetFlairOptions`](SetFlairOptions.md) & `object` + +## Type declaration + +### username + +> **username**: `string` + +The username of the user to set the flair on diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitCustomPostOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitCustomPostOptions.md new file mode 100644 index 00000000..b34fb42c --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitCustomPostOptions.md @@ -0,0 +1,62 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubmitCustomPostOptions + +> **SubmitCustomPostOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `object` + +## Type declaration + +### entry? + +> `optional` **entry**: `string` + +The entrypoint name. Must correspond to a `post.entrypoints` key in the +app's `devvit.json`. + +#### Default + +The default `devvit.json` entrypoint (`'default'`). + +#### Example + +following `devvit.json` configuration: +```json +{ + "$schema": "https://developers.reddit.com/schema/config-file.v1.json", + "name": "example", + "post": { + "entrypoints": { + "default": {"entry": "splash.html"}, + "game": {"entry": "game.html"} + } + } +} +``` + +### postData? + +> `optional` **postData**: `PostData` + +Arbitrary data to associate to the post. Limited to two kilobytes. + +#### See + +PostData. + +### styles? + +> `optional` **styles**: `CustomPostStylesInput` + +Styles associated with the custom post, such as height or background color. + +### textFallback? + +> `optional` **textFallback**: [`CustomPostTextFallbackOptions`](CustomPostTextFallbackOptions.md) + +Content to show when rendered on `https://old.reddit.com`. + +### userGeneratedContent? + +> `optional` **userGeneratedContent**: `UserGeneratedContent` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitLinkOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitLinkOptions.md new file mode 100644 index 00000000..cd1cccf4 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitLinkOptions.md @@ -0,0 +1,23 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubmitLinkOptions + +> **SubmitLinkOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `object` + +## Type declaration + +### ~~resubmit?~~ + +> `optional` **resubmit**: `boolean` + +#### Deprecated + +Unsupported. This property is for backwards compatibility and +has no effect. It will removed in a future version. New code should not +use it. + +### url + +> **url**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitMediaOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitMediaOptions.md new file mode 100644 index 00000000..6226bada --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitMediaOptions.md @@ -0,0 +1,21 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubmitMediaOptions + +> **SubmitMediaOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & `object` + +## Type declaration + +### imageUrls? + +> `optional` **imageUrls**: \[`string`\] + +### kind + +> **kind**: `"image"` \| `"video"` \| `"videogif"` + +### videoPosterUrl? + +> `optional` **videoPosterUrl**: `string` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitPostOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitPostOptions.md new file mode 100644 index 00000000..43e3165c --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitPostOptions.md @@ -0,0 +1,9 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubmitPostOptions + +> **SubmitPostOptions** = [`SubmitLinkOptions`](SubmitLinkOptions.md) & `object` \| [`SubmitSelfPostOptions`](SubmitSelfPostOptions.md) & `object` \| [`SubmitMediaOptions`](SubmitMediaOptions.md) & `object` + +Link, self, or media post options exclusively. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitSelfPostOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitSelfPostOptions.md new file mode 100644 index 00000000..34e90cef --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubmitSelfPostOptions.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubmitSelfPostOptions + +> **SubmitSelfPostOptions** = [`CommonSubmitPostOptions`](CommonSubmitPostOptions.md) & [`PostTextOptions`](PostTextOptions.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditData.md new file mode 100644 index 00000000..7a2c992a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditData.md @@ -0,0 +1,79 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditData + +> **SubredditData** = `object` + +## Properties + + + +### communityIcon? + +> `optional` **communityIcon**: `string` + +*** + + + +### displayName? + +> `optional` **displayName**: `string` + +*** + + + +### icon? + +> `optional` **icon**: `string` + +*** + + + +### id? + +> `optional` **id**: `T5` + +*** + + + +### keyColor? + +> `optional` **keyColor**: `string` + +*** + + + +### lastUpdated? + +> `optional` **lastUpdated**: `string` + +*** + + + +### name? + +> `optional` **name**: `string` + +*** + + + +### primaryColor? + +> `optional` **primaryColor**: `string` + +*** + + + +### subscribers? + +> `optional` **subscribers**: `number` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditInfo.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditInfo.md new file mode 100644 index 00000000..3f0f32be --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditInfo.md @@ -0,0 +1,241 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditInfo + +> **SubredditInfo** = `object` + +A class representing information about a Subreddit. + +## Properties + + + +### activeCount? + +> `optional` **activeCount**: `number` + +*** + + + +### allAllowedPostTypes? + +> `optional` **allAllowedPostTypes**: [`PostType`](PostType.md)[] + +*** + + + +### allowedMediaInComments? + +> `optional` **allowedMediaInComments**: [`CommentMediaTypes`](CommentMediaTypes.md)[] + +*** + + + +### allowedPostCapabilities? + +> `optional` **allowedPostCapabilities**: [`PostCapabilities`](PostCapabilities.md)[] + +*** + + + +### authorFlairSettings? + +> `optional` **authorFlairSettings**: [`AuthorFlairSettings`](../classes/AuthorFlairSettings.md) + +*** + + + +### createdAt? + +> `optional` **createdAt**: `Date` + +*** + + + +### description? + +> `optional` **description**: [`SubredditDescription`](../classes/SubredditDescription.md) + +*** + + + +### detectedLanguage? + +> `optional` **detectedLanguage**: `string` + +*** + + + +### id? + +> `optional` **id**: `T5` + +*** + + + +### isArchivePostsEnabled? + +> `optional` **isArchivePostsEnabled**: `boolean` + +*** + + + +### isChatPostCreationAllowed? + +> `optional` **isChatPostCreationAllowed**: `boolean` + +*** + + + +### isChatPostFeatureEnabled? + +> `optional` **isChatPostFeatureEnabled**: `boolean` + +*** + + + +### isCommentingRestricted? + +> `optional` **isCommentingRestricted**: `boolean` + +*** + + + +### isCrosspostingAllowed? + +> `optional` **isCrosspostingAllowed**: `boolean` + +*** + + + +### isDiscoveryAllowed? + +> `optional` **isDiscoveryAllowed**: `boolean` + +*** + + + +### isEmojisEnabled? + +> `optional` **isEmojisEnabled**: `boolean` + +*** + + + +### isNsfw? + +> `optional` **isNsfw**: `boolean` + +*** + + + +### isPostingRestricted? + +> `optional` **isPostingRestricted**: `boolean` + +*** + + + +### isPredictionAllowed? + +> `optional` **isPredictionAllowed**: `boolean` + +*** + + + +### isPredictionContributorsAllowed? + +> `optional` **isPredictionContributorsAllowed**: `boolean` + +*** + + + +### isPredictionsTournamentAllowed? + +> `optional` **isPredictionsTournamentAllowed**: `boolean` + +*** + + + +### isQuarantined? + +> `optional` **isQuarantined**: `boolean` + +*** + + + +### isSpoilerAvailable? + +> `optional` **isSpoilerAvailable**: `boolean` + +*** + + + +### name? + +> `optional` **name**: `string` + +*** + + + +### postFlairSettings? + +> `optional` **postFlairSettings**: [`PostFlairSettings`](../classes/PostFlairSettings.md) + +*** + + + +### subscribersCount? + +> `optional` **subscribersCount**: `number` + +*** + + + +### title? + +> `optional` **title**: `string` + +*** + + + +### type? + +> `optional` **type**: [`SubredditType`](SubredditType.md) + +*** + + + +### wikiSettings? + +> `optional` **wikiSettings**: [`SubredditWikiSettings`](../classes/SubredditWikiSettings.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboard.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboard.md new file mode 100644 index 00000000..38a77001 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboard.md @@ -0,0 +1,25 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditLeaderboard + +> **SubredditLeaderboard** = `object` + +An individual Leaderboard object. + +## Properties + + + +### id + +> **id**: `string` + +*** + + + +### summary + +> **summary**: [`SubredditLeaderboardSummary`](SubredditLeaderboardSummary.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboardSummary.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboardSummary.md new file mode 100644 index 00000000..9a041395 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboardSummary.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditLeaderboardSummary + +> **SubredditLeaderboardSummary** = `object` + +## Properties + + + +### data + +> **data**: [`SubredditLeaderboardSummaryRow`](SubredditLeaderboardSummaryRow.md)[] diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboardSummaryRow.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboardSummaryRow.md new file mode 100644 index 00000000..27d82030 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditLeaderboardSummaryRow.md @@ -0,0 +1,31 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditLeaderboardSummaryRow + +> **SubredditLeaderboardSummaryRow** = `object` + +## Properties + + + +### key + +> **key**: `string` + +*** + + + +### title + +> **title**: `string` + +*** + + + +### value + +> **value**: `number` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditOptions.md new file mode 100644 index 00000000..531a89d1 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditOptions.md @@ -0,0 +1,17 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditOptions + +> **SubredditOptions** = `object` + +## Properties + + + +### subredditName? + +> `optional` **subredditName**: `string` + +Defaults to the current subreddit name. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditSettings.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditSettings.md new file mode 100644 index 00000000..72df465e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditSettings.md @@ -0,0 +1,387 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditSettings + +> **SubredditSettings** = `object` + +## Properties + + + +### acceptFollowers + +> **acceptFollowers**: `boolean` + +Whether the subreddit accepts followers or not. + +*** + + + +### allOriginalContent + +> **allOriginalContent**: `boolean` + +Whether all content posted on the subreddit is original. + +*** + + + +### allowChatPostCreation + +> **allowChatPostCreation**: `boolean` + +Whether users are allowed to create chat posts on the subreddit. + +*** + + + +### allowDiscovery + +> **allowDiscovery**: `boolean` + +Whether the subreddit can be discovered through search. + +*** + + + +### allowedMediaInComments + +> **allowedMediaInComments**: [`CommentMediaTypes`](CommentMediaTypes.md)[] + +List of allowed media types in the comments made in the subreddit. + +*** + + + +### allowedPostType + +> **allowedPostType**: `"any"` \| `"link"` \| `"self"` \| `"other"` + +The types of post allowed in this subreddit. Either "any", "link", "self", or "other". + +*** + + + +### allowGalleries + +> **allowGalleries**: `boolean` + +Whether the subreddit allows galleries. + +*** + + + +### allowImages + +> **allowImages**: `boolean` + +Whether the subreddit allows images. + +*** + + + +### allowPolls + +> **allowPolls**: `boolean` + +Whether the subreddit allows polls. + +*** + + + +### allowPredictionContributors + +> **allowPredictionContributors**: `boolean` + +Whether contributors are allowed to make predictions on the subreddit. + +*** + + + +### allowPredictions + +> **allowPredictions**: `boolean` + +Whether predictions are allowed on the subreddit. + +*** + + + +### allowPredictionsTournament + +> **allowPredictionsTournament**: `boolean` + +Whether prediction tournaments are allowed on the subreddit. + +*** + + + +### allowTalks + +> **allowTalks**: `boolean` + +Whether talks are allowed on the subreddit. + +*** + + + +### allowVideoGifs + +> **allowVideoGifs**: `boolean` + +Whether video GIFs are allowed on the subreddit. + +*** + + + +### allowVideos + +> **allowVideos**: `boolean` + +Whether videos are allowed on the subreddit. + +*** + + + +### bannerBackgroundColor? + +> `optional` **bannerBackgroundColor**: `string` + +a 6-digit rgb hex color of the banner e.g. `#AABBCC`, + +*** + + + +### bannerBackgroundImage? + +> `optional` **bannerBackgroundImage**: `string` + +The background image of the banner. + +*** + + + +### bannerImage? + +> `optional` **bannerImage**: `string` + +The URL of the banner image. + +*** + + + +### chatPostEnabled + +> **chatPostEnabled**: `boolean` + +Whether chat posts are enabled on the subreddit. + +*** + + + +### collectionsEnabled + +> **collectionsEnabled**: `boolean` + +Whether collections are enabled on the subreddit. + +*** + + + +### communityIcon? + +> `optional` **communityIcon**: `string` + +The URL of the community icon. + +*** + + + +### crosspostable + +> **crosspostable**: `boolean` + +Whether crossposts can be made to this subreddit. + +*** + + + +### emojisEnabled + +> **emojisEnabled**: `boolean` + +Whether emojis are enabled on the subreddit. + +*** + + + +### eventPostsEnabled + +> **eventPostsEnabled**: `boolean` + +Whether event posts are enabled on the subreddit. + +*** + + + +### headerTitle? + +> `optional` **headerTitle**: `string` + +The header title. + +*** + + + +### keyColor? + +> `optional` **keyColor**: `string` + +The 6-digit rgb hex color of the subreddit's key color, e.g. `#AABBCC`, + +*** + + + +### linkFlairEnabled + +> **linkFlairEnabled**: `boolean` + +Whether link flairs are enabled on the subreddit. + +*** + + + +### mobileBannerImage? + +> `optional` **mobileBannerImage**: `string` + +Banner image used on mobile apps. + +*** + + + +### originalContentTagEnabled + +> **originalContentTagEnabled**: `boolean` + +Whether the Original Content tag is enabled. + +*** + + + +### postFlairs + +> **postFlairs**: [`FlairSettings`](FlairSettings.md) + +The post flair settings for the subreddit. + +*** + + + +### primaryColor? + +> `optional` **primaryColor**: `string` + +The 6-digit rgb hex color of the subreddit's primary color, e.g. `#AABBCC`, + +*** + + + +### restrictCommenting + +> **restrictCommenting**: `boolean` + +Whether commenting is restricted in the subreddit. + +*** + + + +### restrictPosting + +> **restrictPosting**: `boolean` + +Whether posting is restricted in the subreddit. + +*** + + + +### shouldArchivePosts + +> **shouldArchivePosts**: `boolean` + +Whether posts in the subreddit should be automatically archived after 6 months. + +*** + + + +### spoilersEnabled + +> **spoilersEnabled**: `boolean` + +Whether the Spoiler tag is enabled. + +*** + + + +### url + +> **url**: `string` + +HTTP URL to the subreddit + +*** + + + +### userFlairs + +> **userFlairs**: [`FlairSettings`](FlairSettings.md) + +The user flair settings for the subreddit. + +*** + + + +### wikiEnabled + +> **wikiEnabled**: `boolean` + +Whether the wiki is enabled for the subreddit. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditSettingsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditSettingsOptions.md new file mode 100644 index 00000000..a4d21d3b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditSettingsOptions.md @@ -0,0 +1,30 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditSettingsOptions + +> **SubredditSettingsOptions** = `Partial`\<[`SubredditSettings`](SubredditSettings.md)\> & `object` + +Optional overrides for subreddit settings. Only provided fields are applied; +the rest remain unchanged when calling [Subreddit.updateSettings](../classes/Subreddit.md#updatesettings). + +## Type declaration + +### description? + +> `optional` **description**: `string` + +Subreddit description (raw markdown). Appears in the sidebar of the subreddit. + +### title? + +> `optional` **title**: `string` + +Subreddit title. + +### type? + +> `optional` **type**: [`SubredditType`](SubredditType.md) + +Subreddit type (e.g. public, private, restricted). diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditStyles.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditStyles.md new file mode 100644 index 00000000..190949ee --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditStyles.md @@ -0,0 +1,377 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditStyles + +> **SubredditStyles** = `object` + +A class representing the styles of a Subreddit. + +## Properties + + + +### backgroundColor? + +> `optional` **backgroundColor**: `string` + +*** + + + +### backgroundImage? + +> `optional` **backgroundImage**: `string` + +*** + + + +### backgroundImagePosition? + +> `optional` **backgroundImagePosition**: [`BackgroundImagePosition`](BackgroundImagePosition.md) + +*** + + + +### bannerBackgroundColor? + +> `optional` **bannerBackgroundColor**: `string` + +*** + + + +### bannerBackgroundImage? + +> `optional` **bannerBackgroundImage**: `string` + +*** + + + +### bannerBackgroundImagePosition? + +> `optional` **bannerBackgroundImagePosition**: [`ImagePosition`](ImagePosition.md) + +*** + + + +### bannerCommunityName? + +> `optional` **bannerCommunityName**: `string` + +*** + + + +### bannerCommunityNameFormat? + +> `optional` **bannerCommunityNameFormat**: [`CommunityNameFormat`](CommunityNameFormat.md) + +*** + + + +### bannerHeight? + +> `optional` **bannerHeight**: [`BannerHeight`](BannerHeight.md) + +*** + + + +### bannerOverlayColor? + +> `optional` **bannerOverlayColor**: `string` + +*** + + + +### bannerPositionedImage? + +> `optional` **bannerPositionedImage**: `string` + +*** + + + +### bannerPositionedImagePosition? + +> `optional` **bannerPositionedImagePosition**: [`PositionedImagePosition`](PositionedImagePosition.md) + +*** + + + +### bannerShowCommunityIcon? + +> `optional` **bannerShowCommunityIcon**: [`Visibility`](Visibility.md) + +*** + + + +### highlightColor? + +> `optional` **highlightColor**: `string` + +*** + + + +### icon? + +> `optional` **icon**: `string` + +*** + + + +### legacyBannerBackgroundImage? + +> `optional` **legacyBannerBackgroundImage**: `string` + +*** + + + +### legacyPrimaryColor? + +> `optional` **legacyPrimaryColor**: `string` + +*** + + + +### menuBackgroundBlur? + +> `optional` **menuBackgroundBlur**: `number` + +*** + + + +### menuBackgroundColor? + +> `optional` **menuBackgroundColor**: `string` + +*** + + + +### menuBackgroundImage? + +> `optional` **menuBackgroundImage**: `string` + +*** + + + +### menuBackgroundOpacity? + +> `optional` **menuBackgroundOpacity**: `number` + +*** + + + +### menuLinkColorActive? + +> `optional` **menuLinkColorActive**: `string` + +*** + + + +### menuLinkColorHover? + +> `optional` **menuLinkColorHover**: `string` + +*** + + + +### menuLinkColorInactive? + +> `optional` **menuLinkColorInactive**: `string` + +*** + + + +### menuPosition? + +> `optional` **menuPosition**: [`MenuPosition`](MenuPosition.md) + +*** + + + +### mobileBannerImage? + +> `optional` **mobileBannerImage**: `string` + +*** + + + +### mobileKeyColor? + +> `optional` **mobileKeyColor**: `string` + +*** + + + +### postBackgroundColor? + +> `optional` **postBackgroundColor**: `string` + +*** + + + +### postBackgroundImage? + +> `optional` **postBackgroundImage**: `string` + +*** + + + +### postBackgroundImagePosition? + +> `optional` **postBackgroundImagePosition**: [`ImagePosition`](ImagePosition.md) + +*** + + + +### postDownvoteCountColor? + +> `optional` **postDownvoteCountColor**: `string` + +*** + + + +### postDownvoteIconActive? + +> `optional` **postDownvoteIconActive**: `string` + +*** + + + +### postDownvoteIconInactive? + +> `optional` **postDownvoteIconInactive**: `string` + +*** + + + +### postPlaceholderImage? + +> `optional` **postPlaceholderImage**: `string` + +*** + + + +### postPlaceholderImagePosition? + +> `optional` **postPlaceholderImagePosition**: [`ImagePosition`](ImagePosition.md) + +*** + + + +### postTitleColor? + +> `optional` **postTitleColor**: `string` + +*** + + + +### postUpvoteCountColor? + +> `optional` **postUpvoteCountColor**: `string` + +*** + + + +### postUpvoteIconActive? + +> `optional` **postUpvoteIconActive**: `string` + +*** + + + +### postUpvoteIconInactive? + +> `optional` **postUpvoteIconInactive**: `string` + +*** + + + +### postVoteIcons? + +> `optional` **postVoteIcons**: [`CustomizationFlag`](CustomizationFlag.md) + +*** + + + +### primaryColor? + +> `optional` **primaryColor**: `string` + +*** + + + +### secondaryBannerPositionedImage? + +> `optional` **secondaryBannerPositionedImage**: `string` + +*** + + + +### sidebarWidgetBackgroundColor? + +> `optional` **sidebarWidgetBackgroundColor**: `string` + +*** + + + +### sidebarWidgetHeaderColor? + +> `optional` **sidebarWidgetHeaderColor**: `string` + +*** + + + +### submenuBackgroundColor? + +> `optional` **submenuBackgroundColor**: `string` + +*** + + + +### submenuBackgroundStyle? + +> `optional` **submenuBackgroundStyle**: [`CustomizationFlag`](CustomizationFlag.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditType.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditType.md new file mode 100644 index 00000000..150d9a2b --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/SubredditType.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: SubredditType + +> **SubredditType** = `"public"` \| `"private"` \| `"restricted"` \| `"employees_only"` \| `"gold_only"` \| `"gold_restricted"` \| `"archived"` \| `"user"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Trophy.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Trophy.md new file mode 100644 index 00000000..3741ce94 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Trophy.md @@ -0,0 +1,90 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: Trophy + +> **Trophy** = `object` + +A trophy displayed on a user's profile. +All fields are optional; the API may return null or omit any of them. + +## Properties + + + +### awardId + +> **awardId**: `T6` \| `undefined` + +Award ID. + +*** + + + +### description + +> **description**: `string` \| `undefined` + +Description. + +*** + + + +### grantedAt + +> **grantedAt**: `number` \| `undefined` + +When the trophy was granted (Unix timestamp). + +*** + + + +### iconSmallUrl + +> **iconSmallUrl**: `string` \| `undefined` + +URL of the small icon. Currently 40x40. + +*** + + + +### iconUrl + +> **iconUrl**: `string` \| `undefined` + +URL of the trophy icon. Currently 70x70. + +*** + + + +### id + +> **id**: `T6` \| `undefined` + +Trophy ID. + +*** + + + +### name + +> **name**: `string` \| `undefined` + +Display name of the trophy. + +*** + + + +### url + +> **url**: `string` \| `undefined` + +URL to redirect to when the trophy is clicked. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UnreadCountResponse.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UnreadCountResponse.md new file mode 100644 index 00000000..f963e999 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UnreadCountResponse.md @@ -0,0 +1,79 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UnreadCountResponse + +> **UnreadCountResponse** = `object` + +## Properties + + + +### appeals? + +> `optional` **appeals**: `number` + +*** + + + +### archived? + +> `optional` **archived**: `number` + +*** + + + +### filtered? + +> `optional` **filtered**: `number` + +*** + + + +### highlighted? + +> `optional` **highlighted**: `number` + +*** + + + +### inprogress? + +> `optional` **inprogress**: `number` + +*** + + + +### joinRequests? + +> `optional` **joinRequests**: `number` + +*** + + + +### mod? + +> `optional` **mod**: `number` + +*** + + + +### new? + +> `optional` **new**: `number` + +*** + + + +### notifications? + +> `optional` **notifications**: `number` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdatePageSettingsOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdatePageSettingsOptions.md new file mode 100644 index 00000000..81d1d7aa --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdatePageSettingsOptions.md @@ -0,0 +1,47 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UpdatePageSettingsOptions + +> **UpdatePageSettingsOptions** = `object` + +## Properties + + + +### listed + +> **listed**: `boolean` + +Whether the page should be listed in the wiki index. + +*** + + + +### page + +> **page**: `string` + +The name of the page to update settings for. + +*** + + + +### permLevel + +> **permLevel**: [`WikiPagePermissionLevel`](../enumerations/WikiPagePermissionLevel.md) + +The permission level for the page. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the page is in. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateRuleOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateRuleOptions.md new file mode 100644 index 00000000..5d23462f --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateRuleOptions.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UpdateRuleOptions + +> **UpdateRuleOptions** = `Partial`\<`Omit`\<`UpdateSubredditRuleRequest`, `"r"` \| `"oldShortName"`\>\> & `object` + +New values for an existing rule. All fields are optional. If a field is not provided, the existing value will not be changed. + +## Type declaration + +### kind? + +> `optional` **kind**: `"all"` \| `"link"` \| `"comment"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateWidgetData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateWidgetData.md new file mode 100644 index 00000000..deebdee6 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateWidgetData.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UpdateWidgetData + +> **UpdateWidgetData** = `UpdateImageWidgetRequest` & `object` \| `UpdateCalendarWidgetRequest` & `object` \| `UpdateTextAreaWidgetRequest` & `object` \| `UpdateButtonWidgetRequest` & `object` \| `UpdateCommunityListWidgetRequest` & `object` \| `UpdatePostFlairWidgetRequest` & `object` \| `UpdateCustomWidgetRequest` & `object` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateWikiPageOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateWikiPageOptions.md new file mode 100644 index 00000000..78b3868d --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UpdateWikiPageOptions.md @@ -0,0 +1,47 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UpdateWikiPageOptions + +> **UpdateWikiPageOptions** = `object` + +## Properties + + + +### content + +> **content**: `string` + +The new content of the page. + +*** + + + +### page + +> **page**: `string` + +The name of the page to update. + +*** + + + +### reason? + +> `optional` **reason**: `string` + +The reason for updating the page. + +*** + + + +### subredditName + +> **subredditName**: `string` + +The name of the subreddit the page is in. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserFlair.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserFlair.md new file mode 100644 index 00000000..23af395e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserFlair.md @@ -0,0 +1,37 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UserFlair + +> **UserFlair** = `object` + +## Properties + + + +### flairCssClass? + +> `optional` **flairCssClass**: `string` + +The CSS class applied to this flair in the UI. + +*** + + + +### flairText? + +> `optional` **flairText**: `string` + +The text displayed in the UI for this flair. + +*** + + + +### user? + +> `optional` **user**: `string` + +The username of the user to which this flair is assigned. diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserFlairPageOptions.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserFlairPageOptions.md new file mode 100644 index 00000000..4bcc70e3 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserFlairPageOptions.md @@ -0,0 +1,37 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UserFlairPageOptions + +> **UserFlairPageOptions** = `object` + +## Properties + + + +### after? + +> `optional` **after**: `string` + +A user id optionally provided which will result in a slice of user flairs, starting after this user, to be returned. + +*** + + + +### before? + +> `optional` **before**: `string` + +A user id optionally provided which will result in a slice of user flairs, starting before this user, to be returned. + +*** + + + +### limit? + +> `optional` **limit**: `number` + +A limit to the number of flairs that will be returned. Default: 25, Max: 1000 diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserNote.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserNote.md new file mode 100644 index 00000000..0e1b46a7 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserNote.md @@ -0,0 +1,31 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UserNote + +> **UserNote** = `object` + +## Properties + + + +### label? + +> `optional` **label**: [`UserNoteLabel`](UserNoteLabel.md) + +*** + + + +### note? + +> `optional` **note**: `string` + +*** + + + +### redditId? + +> `optional` **redditId**: `T1` \| `T3` \| `T5` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserNoteLabel.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserNoteLabel.md new file mode 100644 index 00000000..bee4c6f0 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserNoteLabel.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UserNoteLabel + +> **UserNoteLabel** = `"BOT_BAN"` \| `"PERMA_BAN"` \| `"BAN"` \| `"ABUSE_WARNING"` \| `"SPAM_WARNING"` \| `"SPAM_WATCH"` \| `"SOLID_CONTRIBUTOR"` \| `"HELPFUL_USER"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserSocialLink.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserSocialLink.md new file mode 100644 index 00000000..3b074d82 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/UserSocialLink.md @@ -0,0 +1,67 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: UserSocialLink + +> **UserSocialLink** = `object` + +## Field + +id: ID of the social link. + +## Field + +handle: Display name of social media link. + +## Field + +outboundUrl: Outbound url of social media link. + +## Field + +type: Type of social media link i.e. Instagram, YouTube. + +## Field + +title: Title or name of social media link. + +## Properties + + + +### handle? + +> `optional` **handle**: `string` + +*** + + + +### id + +> **id**: `string` + +*** + + + +### outboundUrl + +> **outboundUrl**: `string` + +*** + + + +### title + +> **title**: `string` + +*** + + + +### type + +> **type**: [`SocialLinkType`](../enumerations/SocialLinkType.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Vault.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Vault.md new file mode 100644 index 00000000..8c7d2181 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Vault.md @@ -0,0 +1,77 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: Vault + +> **Vault** = `object` + +A type representing a Vault (crypto wallet). + +## Properties + + + +### address + +> **address**: `string` + +The address of the Vault. + +#### Example + +```ts +'0x205ee28744456bDBf180A0Fa7De51e0F116d54Ed' +``` + +*** + + + +### createdAt + +> **createdAt**: `string` + +The date the Vault was created. + +*** + + + +### isActive + +> **isActive**: `boolean` + +Whether the Vault is active. + +*** + + + +### provider + +> **provider**: `string` + +The provider of the Vault address. + +#### Example + +```ts +'ethereum' +``` + +*** + + + +### userId + +> **userId**: `T2` + +The ID (starting with t2_) of the user owning the Vault. + +#### Example + +```ts +'t2_1w72' +``` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Visibility.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Visibility.md new file mode 100644 index 00000000..69123a9a --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/Visibility.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: Visibility + +> **Visibility** = `"show"` \| `"hide"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WikiEditMode.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WikiEditMode.md new file mode 100644 index 00000000..7f4e867e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WikiEditMode.md @@ -0,0 +1,7 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: WikiEditMode + +> **WikiEditMode** = `"disabled"` \| `"modonly"` \| `"anyone"` diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WikiPageRevisionId.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WikiPageRevisionId.md new file mode 100644 index 00000000..bb9ee879 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WikiPageRevisionId.md @@ -0,0 +1,9 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: WikiPageRevisionId + +> **WikiPageRevisionId** = `` `${string}-${string}-${string}-${string}-${string}` `` + +The revision ID is a v4 UUID diff --git a/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WithUserData.md b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WithUserData.md new file mode 100644 index 00000000..fbbbc85e --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/type-aliases/WithUserData.md @@ -0,0 +1,15 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Type Alias: WithUserData + +> **WithUserData** = `object` + +## Properties + + + +### user? + +> `optional` **user**: [`ConversationUserData`](ConversationUserData.md) diff --git a/versioned_docs/version-0.14/api/redditapi/models/variables/GalleryMediaStatus.md b/versioned_docs/version-0.14/api/redditapi/models/variables/GalleryMediaStatus.md new file mode 100644 index 00000000..fba6bfd4 --- /dev/null +++ b/versioned_docs/version-0.14/api/redditapi/models/variables/GalleryMediaStatus.md @@ -0,0 +1,27 @@ +[**@devvit/reddit v0.14.0-dev**](../../README.md) + +*** + +# Variable: GalleryMediaStatus + +> `const` **GalleryMediaStatus**: `object` + +## Type declaration + + + +### FAILED + +> `readonly` **FAILED**: `2` = `2` + + + +### UNKNOWN + +> `readonly` **UNKNOWN**: `0` = `0` + + + +### VALID + +> `readonly` **VALID**: `1` = `1` diff --git a/versioned_docs/version-0.14/assets/ai-tools/hackathon-logo.png b/versioned_docs/version-0.14/assets/ai-tools/hackathon-logo.png new file mode 100644 index 00000000..0ce6dcaa Binary files /dev/null and b/versioned_docs/version-0.14/assets/ai-tools/hackathon-logo.png differ diff --git a/versioned_docs/version-0.14/assets/ai-tools/open-in-bolt-2x.png b/versioned_docs/version-0.14/assets/ai-tools/open-in-bolt-2x.png new file mode 100644 index 00000000..9f440b47 Binary files /dev/null and b/versioned_docs/version-0.14/assets/ai-tools/open-in-bolt-2x.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/PN-daily-CTA.png b/versioned_docs/version-0.14/assets/analytics/PN-daily-CTA.png new file mode 100644 index 00000000..526945c2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/PN-daily-CTA.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/PN-message-body.png b/versioned_docs/version-0.14/assets/analytics/PN-message-body.png new file mode 100644 index 00000000..894c1a6c Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/PN-message-body.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/PN-performance.png b/versioned_docs/version-0.14/assets/analytics/PN-performance.png new file mode 100644 index 00000000..5f86eb15 Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/PN-performance.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/engagement-analytics.png b/versioned_docs/version-0.14/assets/analytics/engagement-analytics.png new file mode 100644 index 00000000..720619fe Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/engagement-analytics.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/engagement.png b/versioned_docs/version-0.14/assets/analytics/engagement.png new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/versioned_docs/version-0.14/assets/analytics/engagement.png @@ -0,0 +1 @@ + diff --git a/versioned_docs/version-0.14/assets/analytics/journeys-1.png b/versioned_docs/version-0.14/assets/analytics/journeys-1.png new file mode 100644 index 00000000..1eadcdd8 Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/journeys-1.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/journeys-2.png b/versioned_docs/version-0.14/assets/analytics/journeys-2.png new file mode 100644 index 00000000..d100910a Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/journeys-2.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/journeys-3.png b/versioned_docs/version-0.14/assets/analytics/journeys-3.png new file mode 100644 index 00000000..4846469d Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/journeys-3.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/journeys-4.png b/versioned_docs/version-0.14/assets/analytics/journeys-4.png new file mode 100644 index 00000000..08d0098a Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/journeys-4.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/journeys-dashboard.png b/versioned_docs/version-0.14/assets/analytics/journeys-dashboard.png new file mode 100644 index 00000000..31671153 Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/journeys-dashboard.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/login-screen.png b/versioned_docs/version-0.14/assets/analytics/login-screen.png new file mode 100644 index 00000000..80fe24bb Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/login-screen.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/syllo-logo.png b/versioned_docs/version-0.14/assets/analytics/syllo-logo.png new file mode 100644 index 00000000..72d1bdbb Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/syllo-logo.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/syllo-play-2.png b/versioned_docs/version-0.14/assets/analytics/syllo-play-2.png new file mode 100644 index 00000000..07a37a93 Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/syllo-play-2.png differ diff --git a/versioned_docs/version-0.14/assets/analytics/syllo-sharesheet.png b/versioned_docs/version-0.14/assets/analytics/syllo-sharesheet.png new file mode 100644 index 00000000..3f59f903 Binary files /dev/null and b/versioned_docs/version-0.14/assets/analytics/syllo-sharesheet.png differ diff --git a/versioned_docs/version-0.14/assets/app-details-5.png b/versioned_docs/version-0.14/assets/app-details-5.png new file mode 100644 index 00000000..cbaab15a Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-details-5.png differ diff --git a/versioned_docs/version-0.14/assets/app-details-install-modal.png b/versioned_docs/version-0.14/assets/app-details-install-modal.png new file mode 100644 index 00000000..85be9796 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-details-install-modal.png differ diff --git a/versioned_docs/version-0.14/assets/app-details.png b/versioned_docs/version-0.14/assets/app-details.png new file mode 100644 index 00000000..049e5d9f Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-details.png differ diff --git a/versioned_docs/version-0.14/assets/app-image-cover.png b/versioned_docs/version-0.14/assets/app-image-cover.png new file mode 100644 index 00000000..c3a4ac02 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-image-cover.png differ diff --git a/versioned_docs/version-0.14/assets/app-image-fill.png b/versioned_docs/version-0.14/assets/app-image-fill.png new file mode 100644 index 00000000..4b531d9e Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-image-fill.png differ diff --git a/versioned_docs/version-0.14/assets/app-image-fit.png b/versioned_docs/version-0.14/assets/app-image-fit.png new file mode 100644 index 00000000..d37a95fc Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-image-fit.png differ diff --git a/versioned_docs/version-0.14/assets/app-image-fixed-size.png b/versioned_docs/version-0.14/assets/app-image-fixed-size.png new file mode 100644 index 00000000..4497894a Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-image-fixed-size.png differ diff --git a/versioned_docs/version-0.14/assets/app-image-relative-size.png b/versioned_docs/version-0.14/assets/app-image-relative-size.png new file mode 100644 index 00000000..6289cab2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-image-relative-size.png differ diff --git a/versioned_docs/version-0.14/assets/app-install-2.png b/versioned_docs/version-0.14/assets/app-install-2.png new file mode 100644 index 00000000..8c15e66d Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-install-2.png differ diff --git a/versioned_docs/version-0.14/assets/app-update.png b/versioned_docs/version-0.14/assets/app-update.png new file mode 100644 index 00000000..498c440b Binary files /dev/null and b/versioned_docs/version-0.14/assets/app-update.png differ diff --git a/versioned_docs/version-0.14/assets/app_account_everything_permissions.png b/versioned_docs/version-0.14/assets/app_account_everything_permissions.png new file mode 100644 index 00000000..a6d87f39 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_account_everything_permissions.png differ diff --git a/versioned_docs/version-0.14/assets/app_analytics.png b/versioned_docs/version-0.14/assets/app_analytics.png new file mode 100644 index 00000000..1a04a174 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_analytics.png differ diff --git a/versioned_docs/version-0.14/assets/app_config_screen.png b/versioned_docs/version-0.14/assets/app_config_screen.png new file mode 100644 index 00000000..0bc1afa9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_config_screen.png differ diff --git a/versioned_docs/version-0.14/assets/app_details.png b/versioned_docs/version-0.14/assets/app_details.png new file mode 100644 index 00000000..260522ab Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_details.png differ diff --git a/versioned_docs/version-0.14/assets/app_failed_build_error.png b/versioned_docs/version-0.14/assets/app_failed_build_error.png new file mode 100644 index 00000000..af542820 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_failed_build_error.png differ diff --git a/versioned_docs/version-0.14/assets/app_install.png b/versioned_docs/version-0.14/assets/app_install.png new file mode 100644 index 00000000..c7e4527c Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_install.png differ diff --git a/versioned_docs/version-0.14/assets/app_permissions.png b/versioned_docs/version-0.14/assets/app_permissions.png new file mode 100644 index 00000000..a308d4fd Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_permissions.png differ diff --git a/versioned_docs/version-0.14/assets/app_upgrade.png b/versioned_docs/version-0.14/assets/app_upgrade.png new file mode 100644 index 00000000..28e41adb Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_upgrade.png differ diff --git a/versioned_docs/version-0.14/assets/app_upgrade_confirm.png b/versioned_docs/version-0.14/assets/app_upgrade_confirm.png new file mode 100644 index 00000000..8722b1c9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_upgrade_confirm.png differ diff --git a/versioned_docs/version-0.14/assets/app_versions_panel.png b/versioned_docs/version-0.14/assets/app_versions_panel.png new file mode 100644 index 00000000..bea6fa36 Binary files /dev/null and b/versioned_docs/version-0.14/assets/app_versions_panel.png differ diff --git a/versioned_docs/version-0.14/assets/ask_ai_icon.png b/versioned_docs/version-0.14/assets/ask_ai_icon.png new file mode 100644 index 00000000..830c3ca0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/ask_ai_icon.png differ diff --git a/versioned_docs/version-0.14/assets/ask_ai_start_project.png b/versioned_docs/version-0.14/assets/ask_ai_start_project.png new file mode 100644 index 00000000..fd320fa2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/ask_ai_start_project.png differ diff --git a/versioned_docs/version-0.14/assets/ask_ai_troubleshoot.png b/versioned_docs/version-0.14/assets/ask_ai_troubleshoot.png new file mode 100644 index 00000000..85cd754f Binary files /dev/null and b/versioned_docs/version-0.14/assets/ask_ai_troubleshoot.png differ diff --git a/docs/assets/blocks/docs-blocks-button-appearance.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-button-appearance.png similarity index 100% rename from docs/assets/blocks/docs-blocks-button-appearance.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-button-appearance.png diff --git a/docs/assets/blocks/docs-blocks-button-disabled.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-button-disabled.png similarity index 100% rename from docs/assets/blocks/docs-blocks-button-disabled.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-button-disabled.png diff --git a/docs/assets/blocks/docs-blocks-button-icon-label.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-button-icon-label.png similarity index 100% rename from docs/assets/blocks/docs-blocks-button-icon-label.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-button-icon-label.png diff --git a/docs/assets/blocks/docs-blocks-button-sizes.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-button-sizes.png similarity index 100% rename from docs/assets/blocks/docs-blocks-button-sizes.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-button-sizes.png diff --git a/docs/assets/blocks/docs-blocks-colors-alienblue.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-alienblue.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-alienblue.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-alienblue.png diff --git a/docs/assets/blocks/docs-blocks-colors-berrypurple.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-berrypurple.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-berrypurple.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-berrypurple.png diff --git a/docs/assets/blocks/docs-blocks-colors-brown.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-brown.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-brown.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-brown.png diff --git a/docs/assets/blocks/docs-blocks-colors-coolgray.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-coolgray.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-coolgray.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-coolgray.png diff --git a/docs/assets/blocks/docs-blocks-colors-kiwigreen.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-kiwigreen.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-kiwigreen.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-kiwigreen.png diff --git a/docs/assets/blocks/docs-blocks-colors-lightblue.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-lightblue.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-lightblue.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-lightblue.png diff --git a/docs/assets/blocks/docs-blocks-colors-lime.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-lime.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-lime.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-lime.png diff --git a/docs/assets/blocks/docs-blocks-colors-mintgreen.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-mintgreen.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-mintgreen.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-mintgreen.png diff --git a/docs/assets/blocks/docs-blocks-colors-orangered.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-orangered.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-orangered.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-orangered.png diff --git a/docs/assets/blocks/docs-blocks-colors-periwinkle.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-periwinkle.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-periwinkle.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-periwinkle.png diff --git a/docs/assets/blocks/docs-blocks-colors-puregray.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-puregray.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-puregray.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-puregray.png diff --git a/docs/assets/blocks/docs-blocks-colors-red.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-red.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-red.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-red.png diff --git a/docs/assets/blocks/docs-blocks-colors-sakurapink.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-sakurapink.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-sakurapink.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-sakurapink.png diff --git a/docs/assets/blocks/docs-blocks-colors-yellow.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-yellow.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-yellow.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-yellow.png diff --git a/docs/assets/blocks/docs-blocks-colors-yelloworange.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-yelloworange.png similarity index 100% rename from docs/assets/blocks/docs-blocks-colors-yelloworange.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-colors-yelloworange.png diff --git a/docs/assets/blocks/docs-blocks-stacks-alignment.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-alignment.png similarity index 100% rename from docs/assets/blocks/docs-blocks-stacks-alignment.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-alignment.png diff --git a/docs/assets/blocks/docs-blocks-stacks-border-width.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-border-width.png similarity index 100% rename from docs/assets/blocks/docs-blocks-stacks-border-width.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-border-width.png diff --git a/docs/assets/blocks/docs-blocks-stacks-corner-radius.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-corner-radius.png similarity index 100% rename from docs/assets/blocks/docs-blocks-stacks-corner-radius.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-corner-radius.png diff --git a/docs/assets/blocks/docs-blocks-stacks-gap.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-gap.png similarity index 100% rename from docs/assets/blocks/docs-blocks-stacks-gap.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-gap.png diff --git a/docs/assets/blocks/docs-blocks-stacks-padding.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-padding.png similarity index 100% rename from docs/assets/blocks/docs-blocks-stacks-padding.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-padding.png diff --git a/docs/assets/blocks/docs-blocks-stacks-reverse.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-reverse.png similarity index 100% rename from docs/assets/blocks/docs-blocks-stacks-reverse.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-stacks-reverse.png diff --git a/docs/assets/blocks/docs-blocks-text-size.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-text-size.png similarity index 100% rename from docs/assets/blocks/docs-blocks-text-size.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-text-size.png diff --git a/docs/assets/blocks/docs-blocks-text-weights.png b/versioned_docs/version-0.14/assets/blocks/docs-blocks-text-weights.png similarity index 100% rename from docs/assets/blocks/docs-blocks-text-weights.png rename to versioned_docs/version-0.14/assets/blocks/docs-blocks-text-weights.png diff --git a/versioned_docs/version-0.14/assets/blocks_post_example.png b/versioned_docs/version-0.14/assets/blocks_post_example.png new file mode 100644 index 00000000..8a5adcd9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/blocks_post_example.png differ diff --git a/versioned_docs/version-0.14/assets/blocks_post_menu.png b/versioned_docs/version-0.14/assets/blocks_post_menu.png new file mode 100644 index 00000000..41d373fb Binary files /dev/null and b/versioned_docs/version-0.14/assets/blocks_post_menu.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/adding-links/adding-links-external-link-dialog.png b/versioned_docs/version-0.14/assets/capabilities/adding-links/adding-links-external-link-dialog.png new file mode 100644 index 00000000..cfb9e946 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/adding-links/adding-links-external-link-dialog.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-all-types.png b/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-all-types.png new file mode 100644 index 00000000..294e141a Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-all-types.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-data-toast.png b/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-data-toast.png new file mode 100644 index 00000000..7899fa2a Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-data-toast.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-validation.png b/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-validation.png new file mode 100644 index 00000000..c2c093fc Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/app-configurations/app-configurations-validation.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/app_permissions.png b/versioned_docs/version-0.14/assets/capabilities/app_permissions.png new file mode 100644 index 00000000..523c13d6 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/app_permissions.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-boolean.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-boolean.png new file mode 100644 index 00000000..7b4f93d9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-boolean.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-dialog.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-dialog.png new file mode 100644 index 00000000..99cf1bdd Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-dialog.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-image.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-image.png new file mode 100644 index 00000000..8f714bd8 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-image.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-number.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-number.png new file mode 100644 index 00000000..fae216de Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-number.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-paragraph.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-paragraph.png new file mode 100644 index 00000000..a3a0d19c Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-paragraph.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-select.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-select.png new file mode 100644 index 00000000..c92fa319 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-select.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/forms/forms-string.png b/versioned_docs/version-0.14/assets/capabilities/forms/forms-string.png new file mode 100644 index 00000000..8fc3fe94 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/forms/forms-string.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/http-fetch/http-fetch-legal-links.png b/versioned_docs/version-0.14/assets/capabilities/http-fetch/http-fetch-legal-links.png new file mode 100644 index 00000000..fe5659a9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/http-fetch/http-fetch-legal-links.png differ diff --git a/versioned_docs/version-0.14/assets/capabilities/menu-actions/menu-actions-subreddit.png b/versioned_docs/version-0.14/assets/capabilities/menu-actions/menu-actions-subreddit.png new file mode 100644 index 00000000..c5d63135 Binary files /dev/null and b/versioned_docs/version-0.14/assets/capabilities/menu-actions/menu-actions-subreddit.png differ diff --git a/versioned_docs/version-0.14/assets/clock-plugin.png b/versioned_docs/version-0.14/assets/clock-plugin.png new file mode 100644 index 00000000..a5319e8c Binary files /dev/null and b/versioned_docs/version-0.14/assets/clock-plugin.png differ diff --git a/versioned_docs/version-0.14/assets/communities-install-list.png b/versioned_docs/version-0.14/assets/communities-install-list.png new file mode 100644 index 00000000..9fd1f43d Binary files /dev/null and b/versioned_docs/version-0.14/assets/communities-install-list.png differ diff --git a/versioned_docs/version-0.14/assets/communities_install.png b/versioned_docs/version-0.14/assets/communities_install.png new file mode 100644 index 00000000..24241213 Binary files /dev/null and b/versioned_docs/version-0.14/assets/communities_install.png differ diff --git a/versioned_docs/version-0.14/assets/community-games/bubbleshooterpro.png b/versioned_docs/version-0.14/assets/community-games/bubbleshooterpro.png new file mode 100644 index 00000000..82df4cff Binary files /dev/null and b/versioned_docs/version-0.14/assets/community-games/bubbleshooterpro.png differ diff --git a/versioned_docs/version-0.14/assets/community-games/farmmergevalley.png b/versioned_docs/version-0.14/assets/community-games/farmmergevalley.png new file mode 100644 index 00000000..85d98806 Binary files /dev/null and b/versioned_docs/version-0.14/assets/community-games/farmmergevalley.png differ diff --git a/versioned_docs/version-0.14/assets/community-games/hotandcold.jpg b/versioned_docs/version-0.14/assets/community-games/hotandcold.jpg new file mode 100644 index 00000000..a1d01bb9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/community-games/hotandcold.jpg differ diff --git a/versioned_docs/version-0.14/assets/community-games/syllo_leaderboard.jpg b/versioned_docs/version-0.14/assets/community-games/syllo_leaderboard.jpg new file mode 100644 index 00000000..5366b9e9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/community-games/syllo_leaderboard.jpg differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/custom-posts-dimensions.png b/versioned_docs/version-0.14/assets/custom-posts/custom-posts-dimensions.png new file mode 100644 index 00000000..7aaed307 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/custom-posts-dimensions.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/custom-posts-overview.png b/versioned_docs/version-0.14/assets/custom-posts/custom-posts-overview.png new file mode 100644 index 00000000..cbd62206 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/custom-posts-overview.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/custom-posts-useinterval.png b/versioned_docs/version-0.14/assets/custom-posts/custom-posts-useinterval.png new file mode 100644 index 00000000..c49ea89d Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/custom-posts-useinterval.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-app-settings-alt.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-app-settings-alt.png new file mode 100644 index 00000000..0a2cd1c7 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-app-settings-alt.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-app-settings.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-app-settings.png new file mode 100644 index 00000000..9c48595f Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-app-settings.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-custom-experience-pro.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-custom-experience-pro.png new file mode 100644 index 00000000..b3368b24 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-custom-experience-pro.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-custom-experience.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-custom-experience.png new file mode 100644 index 00000000..cfc78b5c Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-custom-experience.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-empty.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-empty.png new file mode 100644 index 00000000..1042adcb Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-empty.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-forms.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-forms.png new file mode 100644 index 00000000..f2aec204 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-forms.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-image-uploads.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-image-uploads.png new file mode 100644 index 00000000..567e71ab Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-image-uploads.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-intro-to-devvit.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-intro-to-devvit.png new file mode 100644 index 00000000..6c7df8e2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-intro-to-devvit.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-menu-action.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-menu-action.png new file mode 100644 index 00000000..b3e1b2e7 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-menu-action.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-redis.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-redis.png new file mode 100644 index 00000000..65e69adb Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-redis.png differ diff --git a/versioned_docs/version-0.14/assets/custom-posts/templates/template-triggers.png b/versioned_docs/version-0.14/assets/custom-posts/templates/template-triggers.png new file mode 100644 index 00000000..a1a3360e Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom-posts/templates/template-triggers.png differ diff --git a/versioned_docs/version-0.14/assets/custom_action.png b/versioned_docs/version-0.14/assets/custom_action.png new file mode 100644 index 00000000..8456a516 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_action.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_form_example_1.png b/versioned_docs/version-0.14/assets/custom_post_form_example_1.png new file mode 100644 index 00000000..caa778ef Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_form_example_1.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_form_example_2.png b/versioned_docs/version-0.14/assets/custom_post_form_example_2.png new file mode 100644 index 00000000..bdfa90bc Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_form_example_2.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_menu_item.png b/versioned_docs/version-0.14/assets/custom_post_menu_item.png new file mode 100644 index 00000000..e564fee5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_menu_item.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_new_window.png b/versioned_docs/version-0.14/assets/custom_post_new_window.png new file mode 100644 index 00000000..77d23d09 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_new_window.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_poll_example_1.png b/versioned_docs/version-0.14/assets/custom_post_poll_example_1.png new file mode 100644 index 00000000..1b96bd7a Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_poll_example_1.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_poll_example_2.png b/versioned_docs/version-0.14/assets/custom_post_poll_example_2.png new file mode 100644 index 00000000..60d8327c Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_poll_example_2.png differ diff --git a/versioned_docs/version-0.14/assets/custom_post_poll_example_3.png b/versioned_docs/version-0.14/assets/custom_post_poll_example_3.png new file mode 100644 index 00000000..7395d418 Binary files /dev/null and b/versioned_docs/version-0.14/assets/custom_post_poll_example_3.png differ diff --git a/versioned_docs/version-0.14/assets/default_product_image.png b/versioned_docs/version-0.14/assets/default_product_image.png new file mode 100644 index 00000000..90888788 Binary files /dev/null and b/versioned_docs/version-0.14/assets/default_product_image.png differ diff --git a/versioned_docs/version-0.14/assets/developer_permissions.png b/versioned_docs/version-0.14/assets/developer_permissions.png new file mode 100644 index 00000000..18aad5fe Binary files /dev/null and b/versioned_docs/version-0.14/assets/developer_permissions.png differ diff --git a/versioned_docs/version-0.14/assets/devvit-flair.png b/versioned_docs/version-0.14/assets/devvit-flair.png new file mode 100644 index 00000000..e9d73983 Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit-flair.png differ diff --git a/versioned_docs/version-0.14/assets/devvit_web/clone_repo.png b/versioned_docs/version-0.14/assets/devvit_web/clone_repo.png new file mode 100644 index 00000000..1f761b48 Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit_web/clone_repo.png differ diff --git a/versioned_docs/version-0.14/assets/devvit_web/create_playtest_post.png b/versioned_docs/version-0.14/assets/devvit_web/create_playtest_post.png new file mode 100644 index 00000000..56ed69f3 Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit_web/create_playtest_post.png differ diff --git a/versioned_docs/version-0.14/assets/devvit_web/create_repo.png b/versioned_docs/version-0.14/assets/devvit_web/create_repo.png new file mode 100644 index 00000000..e5d61218 Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit_web/create_repo.png differ diff --git a/versioned_docs/version-0.14/assets/devvit_web/devvit_web_arch.png b/versioned_docs/version-0.14/assets/devvit_web/devvit_web_arch.png new file mode 100644 index 00000000..dc5e4015 Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit_web/devvit_web_arch.png differ diff --git a/versioned_docs/version-0.14/assets/devvit_web/playtest_app.png b/versioned_docs/version-0.14/assets/devvit_web/playtest_app.png new file mode 100644 index 00000000..e15753ac Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit_web/playtest_app.png differ diff --git a/versioned_docs/version-0.14/assets/devvit_web/set_up_repo.png b/versioned_docs/version-0.14/assets/devvit_web/set_up_repo.png new file mode 100644 index 00000000..b0fb9534 Binary files /dev/null and b/versioned_docs/version-0.14/assets/devvit_web/set_up_repo.png differ diff --git a/versioned_docs/version-0.14/assets/docs-app-image-assets-1.png b/versioned_docs/version-0.14/assets/docs-app-image-assets-1.png new file mode 100644 index 00000000..e7aa477e Binary files /dev/null and b/versioned_docs/version-0.14/assets/docs-app-image-assets-1.png differ diff --git a/versioned_docs/version-0.14/assets/docs-app-image-assets-2.png b/versioned_docs/version-0.14/assets/docs-app-image-assets-2.png new file mode 100644 index 00000000..a8bfd131 Binary files /dev/null and b/versioned_docs/version-0.14/assets/docs-app-image-assets-2.png differ diff --git a/versioned_docs/version-0.14/assets/domain_exceptions.png b/versioned_docs/version-0.14/assets/domain_exceptions.png new file mode 100644 index 00000000..fe7bd18e Binary files /dev/null and b/versioned_docs/version-0.14/assets/domain_exceptions.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-bingo.png b/versioned_docs/version-0.14/assets/examples/app-bingo.png new file mode 100644 index 00000000..f74c9147 Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-bingo.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-blocks-gallery.png b/versioned_docs/version-0.14/assets/examples/app-blocks-gallery.png new file mode 100644 index 00000000..9238ae7a Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-blocks-gallery.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-capture-the-flag.png b/versioned_docs/version-0.14/assets/examples/app-capture-the-flag.png new file mode 100644 index 00000000..b11225ad Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-capture-the-flag.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-chess-quizzes.png b/versioned_docs/version-0.14/assets/examples/app-chess-quizzes.png new file mode 100644 index 00000000..15593e65 Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-chess-quizzes.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-feed-me.png b/versioned_docs/version-0.14/assets/examples/app-feed-me.png new file mode 100644 index 00000000..a400a3ed Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-feed-me.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-icon-gallery.png b/versioned_docs/version-0.14/assets/examples/app-icon-gallery.png new file mode 100644 index 00000000..9982303e Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-icon-gallery.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-live-scores-soccer.png b/versioned_docs/version-0.14/assets/examples/app-live-scores-soccer.png new file mode 100644 index 00000000..4f35be77 Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-live-scores-soccer.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-live-scores-taylor-version.png b/versioned_docs/version-0.14/assets/examples/app-live-scores-taylor-version.png new file mode 100644 index 00000000..da6c6d2c Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-live-scores-taylor-version.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-livescores-ts-desktop.png b/versioned_docs/version-0.14/assets/examples/app-livescores-ts-desktop.png new file mode 100644 index 00000000..164e2793 Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-livescores-ts-desktop.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-livescores-ts-mobile.png b/versioned_docs/version-0.14/assets/examples/app-livescores-ts-mobile.png new file mode 100644 index 00000000..cea03de2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-livescores-ts-mobile.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-minesweeper.png b/versioned_docs/version-0.14/assets/examples/app-minesweeper.png new file mode 100644 index 00000000..3503c641 Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-minesweeper.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-mtg.png b/versioned_docs/version-0.14/assets/examples/app-mtg.png new file mode 100644 index 00000000..1dc7f1fe Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-mtg.png differ diff --git a/versioned_docs/version-0.14/assets/examples/app-pixelary.png b/versioned_docs/version-0.14/assets/examples/app-pixelary.png new file mode 100644 index 00000000..0cc45d8c Binary files /dev/null and b/versioned_docs/version-0.14/assets/examples/app-pixelary.png differ diff --git a/versioned_docs/version-0.14/assets/experience-post-example.png b/versioned_docs/version-0.14/assets/experience-post-example.png new file mode 100644 index 00000000..619814e5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/experience-post-example.png differ diff --git a/versioned_docs/version-0.14/assets/fallback_markdown.png b/versioned_docs/version-0.14/assets/fallback_markdown.png new file mode 100644 index 00000000..7c271276 Binary files /dev/null and b/versioned_docs/version-0.14/assets/fallback_markdown.png differ diff --git a/versioned_docs/version-0.14/assets/fallback_richtext.png b/versioned_docs/version-0.14/assets/fallback_richtext.png new file mode 100644 index 00000000..1e247c30 Binary files /dev/null and b/versioned_docs/version-0.14/assets/fallback_richtext.png differ diff --git a/versioned_docs/version-0.14/assets/fallback_text_string.png b/versioned_docs/version-0.14/assets/fallback_text_string.png new file mode 100644 index 00000000..06e05e21 Binary files /dev/null and b/versioned_docs/version-0.14/assets/fallback_text_string.png differ diff --git a/versioned_docs/version-0.14/assets/featured_cd_mobile.png b/versioned_docs/version-0.14/assets/featured_cd_mobile.png new file mode 100644 index 00000000..15bdd76a Binary files /dev/null and b/versioned_docs/version-0.14/assets/featured_cd_mobile.png differ diff --git a/versioned_docs/version-0.14/assets/featured_cd_web.png b/versioned_docs/version-0.14/assets/featured_cd_web.png new file mode 100644 index 00000000..66352d30 Binary files /dev/null and b/versioned_docs/version-0.14/assets/featured_cd_web.png differ diff --git a/versioned_docs/version-0.14/assets/featured_games.png b/versioned_docs/version-0.14/assets/featured_games.png new file mode 100644 index 00000000..91c5c435 Binary files /dev/null and b/versioned_docs/version-0.14/assets/featured_games.png differ diff --git a/versioned_docs/version-0.14/assets/form.png b/versioned_docs/version-0.14/assets/form.png new file mode 100644 index 00000000..58519c1c Binary files /dev/null and b/versioned_docs/version-0.14/assets/form.png differ diff --git a/versioned_docs/version-0.14/assets/form_popup.png b/versioned_docs/version-0.14/assets/form_popup.png new file mode 100644 index 00000000..003f53d0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/form_popup.png differ diff --git a/versioned_docs/version-0.14/assets/get_settings_toast_output.png b/versioned_docs/version-0.14/assets/get_settings_toast_output.png new file mode 100644 index 00000000..0b5fe885 Binary files /dev/null and b/versioned_docs/version-0.14/assets/get_settings_toast_output.png differ diff --git a/versioned_docs/version-0.14/assets/hello_block.png b/versioned_docs/version-0.14/assets/hello_block.png new file mode 100644 index 00000000..e6f3bf6c Binary files /dev/null and b/versioned_docs/version-0.14/assets/hello_block.png differ diff --git a/versioned_docs/version-0.14/assets/hello_blocks_v2.png b/versioned_docs/version-0.14/assets/hello_blocks_v2.png new file mode 100644 index 00000000..f71c4fed Binary files /dev/null and b/versioned_docs/version-0.14/assets/hello_blocks_v2.png differ diff --git a/versioned_docs/version-0.14/assets/icon_examples_changelog.png b/versioned_docs/version-0.14/assets/icon_examples_changelog.png new file mode 100644 index 00000000..fbb920ae Binary files /dev/null and b/versioned_docs/version-0.14/assets/icon_examples_changelog.png differ diff --git a/versioned_docs/version-0.14/assets/icons/icon-3rd-party-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-3rd-party-fill.svg new file mode 100644 index 00000000..8a17b83f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-3rd-party-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-3rd-party-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-3rd-party-outline.svg new file mode 100644 index 00000000..543f46a2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-3rd-party-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-activity-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-activity-fill.svg new file mode 100644 index 00000000..b075118e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-activity-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-activity-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-activity-outline.svg new file mode 100644 index 00000000..e0dd0fd3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-activity-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-emoji-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-add-emoji-fill.svg new file mode 100644 index 00000000..1e258d8e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-emoji-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-emoji-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-add-emoji-outline.svg new file mode 100644 index 00000000..c0fb7077 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-emoji-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-add-fill-24.svg new file mode 100644 index 00000000..99b2b25b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-add-fill.svg new file mode 100644 index 00000000..59f84598 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-media-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-add-media-fill.svg new file mode 100644 index 00000000..cdfe2808 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-media-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-media-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-add-media-outline.svg new file mode 100644 index 00000000..5a928518 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-media-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-add-outline-24.svg new file mode 100644 index 00000000..6d1c0b17 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-add-outline.svg new file mode 100644 index 00000000..ae3492c1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-to-feed-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-add-to-feed-fill.svg new file mode 100644 index 00000000..f0e9ff51 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-to-feed-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-add-to-feed-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-add-to-feed-outline.svg new file mode 100644 index 00000000..810f0f92 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-add-to-feed-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-admin-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-admin-fill.svg new file mode 100644 index 00000000..6499db27 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-admin-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-admin-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-admin-outline.svg new file mode 100644 index 00000000..67a6ec72 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-admin-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ads-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ads-fill.svg new file mode 100644 index 00000000..a65520ab --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ads-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ads-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ads-outline.svg new file mode 100644 index 00000000..7e422927 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ads-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-align-center-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-align-center-fill.svg new file mode 100644 index 00000000..a1b8363f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-align-center-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-align-center-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-align-center-outline.svg new file mode 100644 index 00000000..b71c9264 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-align-center-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-align-left-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-align-left-fill.svg new file mode 100644 index 00000000..846f7cc7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-align-left-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-align-left-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-align-left-outline.svg new file mode 100644 index 00000000..c85dc5fa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-align-left-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-align-right-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-align-right-fill.svg new file mode 100644 index 00000000..0a6ba952 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-align-right-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-align-right-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-align-right-outline.svg new file mode 100644 index 00000000..9b9b0a2c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-align-right-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-all-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-all-fill.svg new file mode 100644 index 00000000..5ab79216 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-all-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-all-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-all-outline.svg new file mode 100644 index 00000000..eea5d15d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-all-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-appearance-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-appearance-fill.svg new file mode 100644 index 00000000..016c52f2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-appearance-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-appearance-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-appearance-outline.svg new file mode 100644 index 00000000..d90839ac --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-appearance-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-approve-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-approve-fill.svg new file mode 100644 index 00000000..ad45b4ef --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-approve-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-approve-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-approve-outline.svg new file mode 100644 index 00000000..9d4f2563 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-approve-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-archived-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-archived-fill.svg new file mode 100644 index 00000000..ad770c5a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-archived-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-archived-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-archived-outline.svg new file mode 100644 index 00000000..a1daf995 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-archived-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-aspect-ratio-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-aspect-ratio-fill.svg new file mode 100644 index 00000000..df78ddb3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-aspect-ratio-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-aspect-ratio-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-aspect-ratio-outline.svg new file mode 100644 index 00000000..0253c370 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-aspect-ratio-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-aspect-rectangle-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-aspect-rectangle-fill.svg new file mode 100644 index 00000000..bc66cefa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-aspect-rectangle-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-aspect-rectangle-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-aspect-rectangle-outline.svg new file mode 100644 index 00000000..6e6c59af --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-aspect-rectangle-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-attach-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-attach-fill.svg new file mode 100644 index 00000000..34fe8250 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-attach-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-attach-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-attach-outline.svg new file mode 100644 index 00000000..d0e5403c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-attach-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-audience-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-audience-fill.svg new file mode 100644 index 00000000..0fcc5b8f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-audience-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-audience-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-audience-outline.svg new file mode 100644 index 00000000..867df736 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-audience-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-audio-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-audio-fill.svg new file mode 100644 index 00000000..81370bea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-audio-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-audio-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-audio-outline.svg new file mode 100644 index 00000000..fa373832 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-audio-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-author-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-author-fill.svg new file mode 100644 index 00000000..3324936e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-author-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-author-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-author-outline.svg new file mode 100644 index 00000000..a15b5af6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-author-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-automod-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-automod-fill.svg new file mode 100644 index 00000000..d852bc09 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-automod-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-automod-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-automod-outline.svg new file mode 100644 index 00000000..a560282d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-automod-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-avatar-style-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-avatar-style-fill.svg new file mode 100644 index 00000000..5870f91a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-avatar-style-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-avatar-style-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-avatar-style-outline.svg new file mode 100644 index 00000000..2b31769c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-avatar-style-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-award-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-award-fill.svg new file mode 100644 index 00000000..0cc0b178 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-award-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-award-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-award-outline.svg new file mode 100644 index 00000000..a9c9b118 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-award-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-back-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-back-fill-24.svg new file mode 100644 index 00000000..8d752726 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-back-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-back-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-back-fill.svg new file mode 100644 index 00000000..9915841e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-back-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-back-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-back-outline-24.svg new file mode 100644 index 00000000..24f38490 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-back-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-back-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-back-outline.svg new file mode 100644 index 00000000..e0a29588 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-back-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-backup-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-backup-fill.svg new file mode 100644 index 00000000..ff5e9bbc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-backup-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-backup-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-backup-outline.svg new file mode 100644 index 00000000..9eacf619 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-backup-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ban-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ban-fill.svg new file mode 100644 index 00000000..536b7ca1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ban-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ban-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ban-outline.svg new file mode 100644 index 00000000..209e5d98 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ban-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-basketball-color-24.svg b/versioned_docs/version-0.14/assets/icons/icon-basketball-color-24.svg new file mode 100644 index 00000000..34f2d20f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-basketball-color-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-basketball-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-basketball-fill-24.svg new file mode 100644 index 00000000..3188dfe9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-basketball-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-basketball-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-basketball-outline-24.svg new file mode 100644 index 00000000..83894d13 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-basketball-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-best-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-best-fill.svg new file mode 100644 index 00000000..435ef82d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-best-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-best-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-best-outline.svg new file mode 100644 index 00000000..55643001 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-best-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-binoculars-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-binoculars-fill.svg new file mode 100644 index 00000000..40620bfb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-binoculars-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-binoculars-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-binoculars-outline.svg new file mode 100644 index 00000000..0e2c2a4c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-binoculars-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-caret-updown-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-caret-updown-fill.svg new file mode 100644 index 00000000..9ebc2d1a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-caret-updown-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-caret-updown-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-caret-updown-outline.svg new file mode 100644 index 00000000..1f546702 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-caret-updown-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-latest-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-latest-fill.svg new file mode 100644 index 00000000..19a21bde --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-latest-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-latest-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-latest-outline.svg new file mode 100644 index 00000000..d4d0ba1d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-latest-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-planet-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-planet-fill.svg new file mode 100644 index 00000000..de9f2875 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-planet-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-planet-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-planet-outline.svg new file mode 100644 index 00000000..1191ec27 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-planet-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-talk-01-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-01-outline.svg new file mode 100644 index 00000000..f0320473 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-01-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-talk-02-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-02-outline.svg new file mode 100644 index 00000000..a9ffbf13 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-02-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-talk-add-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-add-fill.svg new file mode 100644 index 00000000..02417667 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-add-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-talk-add-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-add-outline.svg new file mode 100644 index 00000000..238d0b2d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-talk-add-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-telescope-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-telescope-fill.svg new file mode 100644 index 00000000..1d33e54e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-telescope-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-beta-telescope-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-beta-telescope-outline.svg new file mode 100644 index 00000000..f6d80314 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-beta-telescope-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-block-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-block-fill.svg new file mode 100644 index 00000000..3dc16c9d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-block-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-block-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-block-outline.svg new file mode 100644 index 00000000..5573cbd6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-block-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-blockchain-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-blockchain-fill.svg new file mode 100644 index 00000000..2f44aebf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-blockchain-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-blockchain-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-blockchain-outline.svg new file mode 100644 index 00000000..f9692627 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-blockchain-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-bold-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-bold-fill.svg new file mode 100644 index 00000000..3ac8e479 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-bold-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-bold-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-bold-outline.svg new file mode 100644 index 00000000..4821692e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-bold-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-bot-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-bot-fill.svg new file mode 100644 index 00000000..a368bf22 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-bot-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-bot-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-bot-outline.svg new file mode 100644 index 00000000..b83870f9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-bot-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-bounce-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-bounce-fill.svg new file mode 100644 index 00000000..702f7dec --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-bounce-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-bounce-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-bounce-outline.svg new file mode 100644 index 00000000..4e90c6e9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-bounce-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-brand-awareness-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-brand-awareness-fill.svg new file mode 100644 index 00000000..f295907a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-brand-awareness-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-brand-awareness-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-brand-awareness-outline.svg new file mode 100644 index 00000000..630501d5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-brand-awareness-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-browse-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-browse-fill.svg new file mode 100644 index 00000000..4c59d268 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-browse-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-browse-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-browse-outline.svg new file mode 100644 index 00000000..56235f72 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-browse-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-browser-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-browser-fill.svg new file mode 100644 index 00000000..7992f73f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-browser-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-browser-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-browser-outline.svg new file mode 100644 index 00000000..c62d27d7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-browser-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-cake-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-cake-fill.svg new file mode 100644 index 00000000..598e5314 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-cake-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-cake-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-cake-outline.svg new file mode 100644 index 00000000..345098d0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-cake-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-calendar-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-calendar-fill.svg new file mode 100644 index 00000000..1ce757d1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-calendar-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-calendar-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-calendar-outline.svg new file mode 100644 index 00000000..3334631b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-calendar-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-camera-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-camera-fill-24.svg new file mode 100644 index 00000000..b7fae92c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-camera-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-camera-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-camera-fill.svg new file mode 100644 index 00000000..2dd491c4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-camera-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-camera-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-camera-outline-24.svg new file mode 100644 index 00000000..6a5e003f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-camera-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-camera-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-camera-outline.svg new file mode 100644 index 00000000..8641d11d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-camera-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-campaign-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-campaign-fill.svg new file mode 100644 index 00000000..7223b7d5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-campaign-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-campaign-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-campaign-outline.svg new file mode 100644 index 00000000..c6e1bc94 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-campaign-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-down-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-down-fill.svg new file mode 100644 index 00000000..c02ba9c7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-down-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-down-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-down-outline.svg new file mode 100644 index 00000000..6450b6a6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-down-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-left-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-left-fill.svg new file mode 100644 index 00000000..b9526918 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-left-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-left-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-left-outline.svg new file mode 100644 index 00000000..a108c3c2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-left-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-right-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-right-fill.svg new file mode 100644 index 00000000..16597e50 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-right-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-right-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-right-outline.svg new file mode 100644 index 00000000..c90909f4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-right-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-up-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-up-fill.svg new file mode 100644 index 00000000..6404217c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-up-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-caret-up-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-caret-up-outline.svg new file mode 100644 index 00000000..4b0f9a78 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-caret-up-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-fill-24.svg new file mode 100644 index 00000000..ddec741f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-fill.svg new file mode 100644 index 00000000..3a482240 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-group-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-group-fill.svg new file mode 100644 index 00000000..4eaac310 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-group-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-group-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-group-outline.svg new file mode 100644 index 00000000..d2bdf29f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-group-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-new-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-new-fill.svg new file mode 100644 index 00000000..79ec3040 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-new-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-new-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-new-outline.svg new file mode 100644 index 00000000..32f1bbf5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-new-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-outline-24.svg new file mode 100644 index 00000000..0a479099 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-outline.svg new file mode 100644 index 00000000..c1292da5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-private-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-private-fill.svg new file mode 100644 index 00000000..8394f0df --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-private-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chat-private-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-chat-private-outline.svg new file mode 100644 index 00000000..d7e24cea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chat-private-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-checkbox-dismiss-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-checkbox-dismiss-fill.svg new file mode 100644 index 00000000..017df15b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-checkbox-dismiss-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-checkbox-dismiss-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-checkbox-dismiss-outline.svg new file mode 100644 index 00000000..475aa619 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-checkbox-dismiss-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-checkbox-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-checkbox-fill.svg new file mode 100644 index 00000000..13d4fb4c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-checkbox-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-checkbox-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-checkbox-outline.svg new file mode 100644 index 00000000..30d5c6fa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-checkbox-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-checkmark-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-checkmark-fill.svg new file mode 100644 index 00000000..bd746f3a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-checkmark-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-checkmark-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-checkmark-outline.svg new file mode 100644 index 00000000..51b95142 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-checkmark-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chrome-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-chrome-fill.svg new file mode 100644 index 00000000..861618f2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chrome-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-chrome-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-chrome-outline.svg new file mode 100644 index 00000000..3fbbc47e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-chrome-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-clear-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-clear-fill.svg new file mode 100644 index 00000000..130cee20 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-clear-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-clear-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-clear-outline.svg new file mode 100644 index 00000000..5ca3b18e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-clear-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-client-list-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-client-list-fill.svg new file mode 100644 index 00000000..de9438d9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-client-list-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-client-list-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-client-list-outline.svg new file mode 100644 index 00000000..c2025eb5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-client-list-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-close-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-close-fill.svg new file mode 100644 index 00000000..7457383e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-close-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-close-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-close-outline.svg new file mode 100644 index 00000000..3dbfadbc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-close-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-closed-captioning-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-closed-captioning-fill.svg new file mode 100644 index 00000000..e6e81eee --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-closed-captioning-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-closed-captioning-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-closed-captioning-outline.svg new file mode 100644 index 00000000..b33b9dcd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-closed-captioning-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-code-block-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-code-block-fill.svg new file mode 100644 index 00000000..fe8f70de --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-code-block-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-code-block-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-code-block-outline.svg new file mode 100644 index 00000000..0659b3a0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-code-block-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-code-inline-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-code-inline-fill.svg new file mode 100644 index 00000000..40d8b284 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-code-inline-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-code-inline-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-code-inline-outline.svg new file mode 100644 index 00000000..b16e54b9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-code-inline-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-coins-color-old.svg b/versioned_docs/version-0.14/assets/icons/icon-coins-color-old.svg new file mode 100644 index 00000000..c26dfd23 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-coins-color-old.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-coins-color.svg b/versioned_docs/version-0.14/assets/icons/icon-coins-color.svg new file mode 100644 index 00000000..9eee1fe3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-coins-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-coins-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-coins-fill.svg new file mode 100644 index 00000000..5295b847 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-coins-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-coins-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-coins-outline.svg new file mode 100644 index 00000000..0635d06a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-coins-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collapse-left-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-collapse-left-fill.svg new file mode 100644 index 00000000..94ced469 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collapse-left-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collapse-left-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-collapse-left-outline.svg new file mode 100644 index 00000000..571e6666 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collapse-left-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collapse-right-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-collapse-right-fill.svg new file mode 100644 index 00000000..d1a6ec06 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collapse-right-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collapse-right-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-collapse-right-outline.svg new file mode 100644 index 00000000..762313e8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collapse-right-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collectible-expressions-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-collectible-expressions-fill.svg new file mode 100644 index 00000000..f48e0f71 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collectible-expressions-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collectible-expressions-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-collectible-expressions-outline.svg new file mode 100644 index 00000000..842276e4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collectible-expressions-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collection-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-collection-fill.svg new file mode 100644 index 00000000..063d0294 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collection-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-collection-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-collection-outline.svg new file mode 100644 index 00000000..2bf8ade0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-collection-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-comment-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-comment-fill.svg new file mode 100644 index 00000000..64caddb5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-comment-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-comment-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-comment-outline.svg new file mode 100644 index 00000000..ca549202 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-comment-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-comments-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-comments-fill.svg new file mode 100644 index 00000000..c7e198b3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-comments-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-comments-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-comments-outline.svg new file mode 100644 index 00000000..aead6ad2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-comments-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-communities-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-communities-fill.svg new file mode 100644 index 00000000..7a89db20 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-communities-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-communities-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-communities-outline.svg new file mode 100644 index 00000000..21b1de32 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-communities-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-community-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-community-fill.svg new file mode 100644 index 00000000..5e996d59 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-community-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-community-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-community-outline.svg new file mode 100644 index 00000000..f2c48d9d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-community-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-confidence-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-confidence-fill.svg new file mode 100644 index 00000000..907e7490 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-confidence-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-confidence-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-confidence-outline.svg new file mode 100644 index 00000000..2c0841fa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-confidence-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-contest-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-contest-fill.svg new file mode 100644 index 00000000..f5ee8261 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-contest-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-contest-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-contest-outline.svg new file mode 100644 index 00000000..b9b18066 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-contest-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-controversial-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-controversial-fill.svg new file mode 100644 index 00000000..0d10d0fa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-controversial-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-controversial-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-controversial-outline.svg new file mode 100644 index 00000000..d9f13ba6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-controversial-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-conversion-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-conversion-fill.svg new file mode 100644 index 00000000..f341451d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-conversion-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-conversion-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-conversion-outline.svg new file mode 100644 index 00000000..f1aaecb5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-conversion-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-copy-clipboard-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-copy-clipboard-fill.svg new file mode 100644 index 00000000..b66a0d37 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-copy-clipboard-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-copy-clipboard-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-copy-clipboard-outline.svg new file mode 100644 index 00000000..4345cc6c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-copy-clipboard-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-cricket-fill-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-cricket-fill-outline-24.svg new file mode 100644 index 00000000..bba0bff1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-cricket-fill-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-cricket-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-cricket-outline-24.svg new file mode 100644 index 00000000..d7e95702 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-cricket-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-crop-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-crop-fill.svg new file mode 100644 index 00000000..8dea1c3e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-crop-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-crop-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-crop-outline.svg new file mode 100644 index 00000000..927c77e7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-crop-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-crosspost-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-crosspost-fill.svg new file mode 100644 index 00000000..e8871467 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-crosspost-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-crosspost-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-crosspost-outline.svg new file mode 100644 index 00000000..34e2bc39 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-crosspost-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-crowd-control-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-crowd-control-fill.svg new file mode 100644 index 00000000..82eff220 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-crowd-control-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-crowd-control-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-crowd-control-outline.svg new file mode 100644 index 00000000..44fc0779 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-crowd-control-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-custom-feed-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-custom-feed-fill.svg new file mode 100644 index 00000000..2fc20489 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-custom-feed-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-custom-feed-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-custom-feed-outline.svg new file mode 100644 index 00000000..4fe08a0e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-custom-feed-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-customize-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-customize-fill.svg new file mode 100644 index 00000000..11c082bb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-customize-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-customize-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-customize-outline.svg new file mode 100644 index 00000000..60fcb5a8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-customize-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-dashboard-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-dashboard-fill.svg new file mode 100644 index 00000000..164bbc6f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-dashboard-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-dashboard-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-dashboard-outline.svg new file mode 100644 index 00000000..7bcc395f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-dashboard-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-day-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-day-fill.svg new file mode 100644 index 00000000..60076123 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-day-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-day-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-day-outline.svg new file mode 100644 index 00000000..42e19da8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-day-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-delete-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-delete-fill.svg new file mode 100644 index 00000000..090d5fa4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-delete-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-delete-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-delete-outline.svg new file mode 100644 index 00000000..f21a44b5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-delete-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-discover-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-discover-fill-24.svg new file mode 100644 index 00000000..3db7366a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-discover-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-discover-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-discover-fill.svg new file mode 100644 index 00000000..a4558664 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-discover-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-discover-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-discover-outline-24.svg new file mode 100644 index 00000000..5f2814a9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-discover-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-discover-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-discover-outline.svg new file mode 100644 index 00000000..d45c3aa9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-discover-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-dismiss-all-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-dismiss-all-fill.svg new file mode 100644 index 00000000..04d7747b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-dismiss-all-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-dismiss-all-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-dismiss-all-outline.svg new file mode 100644 index 00000000..77b35add --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-dismiss-all-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-distinguish-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-distinguish-fill.svg new file mode 100644 index 00000000..2e837d40 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-distinguish-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-distinguish-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-distinguish-outline.svg new file mode 100644 index 00000000..11656e89 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-distinguish-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-down-arrow-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-down-arrow-outline.svg new file mode 100644 index 00000000..f11339cf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-down-arrow-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-down-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-down-fill.svg new file mode 100644 index 00000000..04d79cc5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-down-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-down-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-down-outline.svg new file mode 100644 index 00000000..cb801921 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-down-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-download-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-download-fill.svg new file mode 100644 index 00000000..22873612 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-download-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-download-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-download-outline.svg new file mode 100644 index 00000000..8a9dace4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-download-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-downvote-fill-mask.svg b/versioned_docs/version-0.14/assets/icons/icon-downvote-fill-mask.svg new file mode 100644 index 00000000..770e75e7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-downvote-fill-mask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-downvote-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-downvote-fill.svg new file mode 100644 index 00000000..362c529b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-downvote-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-downvote-offsetmask.svg b/versioned_docs/version-0.14/assets/icons/icon-downvote-offsetmask.svg new file mode 100644 index 00000000..770e75e7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-downvote-offsetmask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-downvote-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-downvote-outline.svg new file mode 100644 index 00000000..851f1b2e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-downvote-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-downvotes-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-downvotes-fill.svg new file mode 100644 index 00000000..e7b8054e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-downvotes-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-downvotes-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-downvotes-outline.svg new file mode 100644 index 00000000..5fb64734 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-downvotes-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-drag-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-drag-outline.svg new file mode 100644 index 00000000..fa395bab --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-drag-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-drugs-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-drugs-fill.svg new file mode 100644 index 00000000..dd31eefd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-drugs-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-drugs-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-drugs-outline.svg new file mode 100644 index 00000000..dd83cdba --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-drugs-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-duplicate-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-duplicate-fill.svg new file mode 100644 index 00000000..7b04b793 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-duplicate-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-duplicate-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-duplicate-outline.svg new file mode 100644 index 00000000..3113be7c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-duplicate-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-edit-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-edit-fill.svg new file mode 100644 index 00000000..4d2b4cb0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-edit-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-edit-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-edit-outline.svg new file mode 100644 index 00000000..be2f8741 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-edit-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-effect-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-effect-fill.svg new file mode 100644 index 00000000..ef14838c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-effect-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-effect-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-effect-outline.svg new file mode 100644 index 00000000..158c8072 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-effect-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-embed-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-embed-fill.svg new file mode 100644 index 00000000..e48f5245 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-embed-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-embed-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-embed-outline.svg new file mode 100644 index 00000000..04dd5ea2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-embed-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-emoji-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-emoji-fill.svg new file mode 100644 index 00000000..75cccf76 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-emoji-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-emoji-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-emoji-outline.svg new file mode 100644 index 00000000..251ffd34 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-emoji-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-end-live-chat-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-end-live-chat-fill.svg new file mode 100644 index 00000000..156b5404 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-end-live-chat-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-end-live-chat-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-end-live-chat-outline.svg new file mode 100644 index 00000000..e734d5bf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-end-live-chat-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-error-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-error-fill.svg new file mode 100644 index 00000000..fd31f05f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-error-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-error-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-error-outline.svg new file mode 100644 index 00000000..44acd06e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-error-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-expand-left-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-expand-left-fill.svg new file mode 100644 index 00000000..bb1bd749 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-expand-left-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-expand-left-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-expand-left-outline.svg new file mode 100644 index 00000000..0425ba50 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-expand-left-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-expand-right-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-expand-right-fill.svg new file mode 100644 index 00000000..74352973 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-expand-right-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-expand-right-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-expand-right-outline.svg new file mode 100644 index 00000000..92ab7ecd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-expand-right-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-external-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-external-fill.svg new file mode 100644 index 00000000..f7f0187f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-external-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-external-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-external-outline.svg new file mode 100644 index 00000000..e7c5cfab --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-external-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-feed-video-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-feed-video-fill.svg new file mode 100644 index 00000000..a10e7ba6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-feed-video-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-feed-video-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-feed-video-outline.svg new file mode 100644 index 00000000..51c13c0f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-feed-video-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-filter-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-filter-fill-24.svg new file mode 100644 index 00000000..dfee079e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-filter-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-filter-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-filter-fill.svg new file mode 100644 index 00000000..ec4bb3d7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-filter-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-filter-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-filter-outline-24.svg new file mode 100644 index 00000000..bac30dde --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-filter-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-filter-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-filter-outline.svg new file mode 100644 index 00000000..5006950f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-filter-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-football-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-football-fill-24.svg new file mode 100644 index 00000000..87eaed64 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-football-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-football-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-football-outline-24.svg new file mode 100644 index 00000000..f80eaede --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-football-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-format-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-format-fill.svg new file mode 100644 index 00000000..fb58cba0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-format-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-format-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-format-outline.svg new file mode 100644 index 00000000..c67d21ac --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-format-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-forward-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-forward-fill.svg new file mode 100644 index 00000000..6cfb1af0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-forward-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-forward-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-forward-outline.svg new file mode 100644 index 00000000..7cd531c2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-forward-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-funnel-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-funnel-fill.svg new file mode 100644 index 00000000..c6ed3533 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-funnel-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-funnel-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-funnel-outline.svg new file mode 100644 index 00000000..18d1a624 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-funnel-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-gif-post-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-gif-post-fill.svg new file mode 100644 index 00000000..827178c2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-gif-post-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-gif-post-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-gif-post-outline.svg new file mode 100644 index 00000000..dfeb11e9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-gif-post-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hashtag-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-hashtag-fill.svg new file mode 100644 index 00000000..b476fac0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hashtag-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hashtag-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-hashtag-outline.svg new file mode 100644 index 00000000..2bf939ee --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hashtag-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-heart-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-heart-fill.svg new file mode 100644 index 00000000..c8c3917c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-heart-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-heart-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-heart-outline.svg new file mode 100644 index 00000000..39c25eb5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-heart-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-help-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-help-fill.svg new file mode 100644 index 00000000..fb9356cf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-help-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-help-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-help-outline.svg new file mode 100644 index 00000000..f5b4ccdd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-help-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hide-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-hide-fill.svg new file mode 100644 index 00000000..90caafca --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hide-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hide-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-hide-outline.svg new file mode 100644 index 00000000..e616adb0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hide-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-history-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-history-fill.svg new file mode 100644 index 00000000..ad5025e1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-history-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-history-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-history-outline.svg new file mode 100644 index 00000000..14f8fa65 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-history-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hockey-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-hockey-fill-24.svg new file mode 100644 index 00000000..a8a5510c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hockey-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hockey-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-hockey-outline-24.svg new file mode 100644 index 00000000..8112f60d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hockey-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-home-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-home-fill-24.svg new file mode 100644 index 00000000..f0ed1780 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-home-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-home-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-home-fill.svg new file mode 100644 index 00000000..9f4149fc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-home-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-home-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-home-outline-24.svg new file mode 100644 index 00000000..1ef79ad0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-home-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-home-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-home-outline.svg new file mode 100644 index 00000000..9058fc9f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-home-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hot-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-hot-fill.svg new file mode 100644 index 00000000..ff4581da --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hot-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-hot-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-hot-outline.svg new file mode 100644 index 00000000..0bd5e91d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-hot-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ignore-reports-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ignore-reports-fill.svg new file mode 100644 index 00000000..acdc10dc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ignore-reports-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ignore-reports-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ignore-reports-outline.svg new file mode 100644 index 00000000..4232ad15 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ignore-reports-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-image-post-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-image-post-fill.svg new file mode 100644 index 00000000..074a343c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-image-post-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-image-post-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-image-post-outline.svg new file mode 100644 index 00000000..db1ecf0c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-image-post-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-inbox-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-inbox-fill.svg new file mode 100644 index 00000000..bf6e5dfe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-inbox-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-inbox-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-inbox-outline.svg new file mode 100644 index 00000000..779a551d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-inbox-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-india-independence-24-color.svg b/versioned_docs/version-0.14/assets/icons/icon-india-independence-24-color.svg new file mode 100644 index 00000000..8eea6f0d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-india-independence-24-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-india-independence-color.svg b/versioned_docs/version-0.14/assets/icons/icon-india-independence-color.svg new file mode 100644 index 00000000..8eea6f0d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-india-independence-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-india-independence-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-india-independence-outline-24.svg new file mode 100644 index 00000000..934f6a68 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-india-independence-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-info-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-info-fill.svg new file mode 100644 index 00000000..25b91054 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-info-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-info-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-info-outline.svg new file mode 100644 index 00000000..2d63f79e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-info-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-invite-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-invite-fill.svg new file mode 100644 index 00000000..73c016b2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-invite-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-invite-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-invite-outline.svg new file mode 100644 index 00000000..43d8b715 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-invite-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-italic-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-italic-fill.svg new file mode 100644 index 00000000..9978e417 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-italic-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-italic-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-italic-outline.svg new file mode 100644 index 00000000..12575e17 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-italic-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-join-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-join-fill.svg new file mode 100644 index 00000000..942ed803 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-join-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-join-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-join-outline.svg new file mode 100644 index 00000000..ae4c3048 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-join-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-joined-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-joined-fill.svg new file mode 100644 index 00000000..b03349b6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-joined-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-joined-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-joined-outline.svg new file mode 100644 index 00000000..5dbb4ce8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-joined-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-jump-down-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-jump-down-fill.svg new file mode 100644 index 00000000..32646b50 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-jump-down-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-jump-down-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-jump-down-outline.svg new file mode 100644 index 00000000..a76193f5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-jump-down-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-jump-up-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-jump-up-fill.svg new file mode 100644 index 00000000..8de1dd13 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-jump-up-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-jump-up-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-jump-up-outline.svg new file mode 100644 index 00000000..156471d0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-jump-up-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-karma-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-karma-fill.svg new file mode 100644 index 00000000..b182869a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-karma-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-karma-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-karma-outline.svg new file mode 100644 index 00000000..36543fda --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-karma-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-keyboard-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-keyboard-fill.svg new file mode 100644 index 00000000..fbb222ee --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-keyboard-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-keyboard-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-keyboard-outline.svg new file mode 100644 index 00000000..7763e8eb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-keyboard-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-kick-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-kick-fill.svg new file mode 100644 index 00000000..539d91b5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-kick-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-kick-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-kick-outline.svg new file mode 100644 index 00000000..6e508580 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-kick-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-language-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-language-fill.svg new file mode 100644 index 00000000..43e3dde4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-language-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-language-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-language-outline.svg new file mode 100644 index 00000000..9e9f57e1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-language-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-leave-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-leave-fill.svg new file mode 100644 index 00000000..d29be345 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-leave-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-leave-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-leave-outline.svg new file mode 100644 index 00000000..9e96def3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-leave-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-left-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-left-fill-24.svg new file mode 100644 index 00000000..2839379a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-left-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-left-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-left-fill.svg new file mode 100644 index 00000000..080d2714 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-left-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-left-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-left-outline-24.svg new file mode 100644 index 00000000..509a1843 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-left-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-left-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-left-outline.svg new file mode 100644 index 00000000..ffc206b5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-left-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-link-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-link-fill.svg new file mode 100644 index 00000000..a777ba34 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-link-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-link-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-link-outline.svg new file mode 100644 index 00000000..71d3657c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-link-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-link-post-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-link-post-fill.svg new file mode 100644 index 00000000..a777ba34 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-link-post-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-link-post-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-link-post-outline.svg new file mode 100644 index 00000000..71d3657c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-link-post-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-list-bulleted-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-list-bulleted-fill.svg new file mode 100644 index 00000000..0ded6919 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-list-bulleted-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-list-bulleted-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-list-bulleted-outline.svg new file mode 100644 index 00000000..10b57c77 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-list-bulleted-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-list-numbered-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-list-numbered-fill.svg new file mode 100644 index 00000000..2fa2f9df --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-list-numbered-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-list-numbered-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-list-numbered-outline.svg new file mode 100644 index 00000000..cb85ac03 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-list-numbered-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-live-chat-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-live-chat-fill.svg new file mode 100644 index 00000000..63bae6d9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-live-chat-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-live-chat-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-live-chat-outline.svg new file mode 100644 index 00000000..cbd60c93 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-live-chat-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-live-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-live-fill.svg new file mode 100644 index 00000000..c3d8fa8b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-live-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-live-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-live-outline.svg new file mode 100644 index 00000000..b8aff72d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-live-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-load-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-load-outline.svg new file mode 100644 index 00000000..2498bb69 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-load-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-location-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-location-fill.svg new file mode 100644 index 00000000..3a02508d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-location-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-location-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-location-outline.svg new file mode 100644 index 00000000..a93fa330 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-location-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-lock-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-lock-fill.svg new file mode 100644 index 00000000..0acaf024 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-lock-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-lock-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-lock-outline.svg new file mode 100644 index 00000000..2d2ba761 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-lock-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-logout-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-logout-fill.svg new file mode 100644 index 00000000..aece4455 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-logout-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-logout-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-logout-outline.svg new file mode 100644 index 00000000..18f43dcc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-logout-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-loop-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-loop-fill.svg new file mode 100644 index 00000000..d407bc1d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-loop-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-loop-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-loop-outline.svg new file mode 100644 index 00000000..057ae18f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-loop-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-macro-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-macro-fill.svg new file mode 100644 index 00000000..fed9fc68 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-macro-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-macro-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-macro-outline.svg new file mode 100644 index 00000000..e0fcc990 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-macro-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mark-read-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mark-read-fill.svg new file mode 100644 index 00000000..8cd0d2bc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mark-read-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mark-read-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mark-read-outline.svg new file mode 100644 index 00000000..a67ce2f6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mark-read-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-marketplace-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-marketplace-fill.svg new file mode 100644 index 00000000..85253c42 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-marketplace-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-marketplace-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-marketplace-outline.svg new file mode 100644 index 00000000..ddcf924b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-marketplace-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mask-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mask-fill.svg new file mode 100644 index 00000000..c1614d16 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mask-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mask-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mask-outline.svg new file mode 100644 index 00000000..948d95be --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mask-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-media-gallery-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-media-gallery-fill.svg new file mode 100644 index 00000000..b4c09cbd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-media-gallery-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-media-gallery-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-media-gallery-outline.svg new file mode 100644 index 00000000..8cefd4cc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-media-gallery-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-meme-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-meme-fill.svg new file mode 100644 index 00000000..8e07d53a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-meme-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-meme-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-meme-outline.svg new file mode 100644 index 00000000..d0161712 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-meme-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-menu-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-menu-fill-24.svg new file mode 100644 index 00000000..a4b11bcf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-menu-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-menu-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-menu-fill.svg new file mode 100644 index 00000000..e3a48d72 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-menu-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-menu-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-menu-outline-24.svg new file mode 100644 index 00000000..cd101a91 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-menu-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-menu-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-menu-outline.svg new file mode 100644 index 00000000..c277d63a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-menu-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-message-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-message-fill.svg new file mode 100644 index 00000000..bf6e5dfe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-message-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-message-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-message-outline.svg new file mode 100644 index 00000000..779a551d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-message-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mic-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mic-fill.svg new file mode 100644 index 00000000..23b42265 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mic-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mic-mute-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mic-mute-fill.svg new file mode 100644 index 00000000..f309e349 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mic-mute-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mic-mute-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mic-mute-outline.svg new file mode 100644 index 00000000..c4b36eef --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mic-mute-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mic-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mic-outline.svg new file mode 100644 index 00000000..d9174bcf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mic-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-fill.svg new file mode 100644 index 00000000..3d4e15bd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-mail-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-mail-fill.svg new file mode 100644 index 00000000..a994d73e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-mail-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-mail-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-mail-outline.svg new file mode 100644 index 00000000..add3fc29 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-mail-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-mode-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-mode-fill.svg new file mode 100644 index 00000000..0a3b61d2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-mode-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-mode-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-mode-outline.svg new file mode 100644 index 00000000..783794c2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-mode-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-mute-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-mute-fill.svg new file mode 100644 index 00000000..0405eb39 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-mute-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-mute-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-mute-outline.svg new file mode 100644 index 00000000..0f00cbd0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-mute-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-outline.svg new file mode 100644 index 00000000..3c34d75e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-overflow-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-overflow-fill.svg new file mode 100644 index 00000000..a27ddc1c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-overflow-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-overflow-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-overflow-outline.svg new file mode 100644 index 00000000..40d581e8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-overflow-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-queue-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-queue-fill.svg new file mode 100644 index 00000000..c24794c6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-queue-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-queue-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-queue-outline.svg new file mode 100644 index 00000000..f501bb50 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-queue-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-unmute-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-unmute-fill.svg new file mode 100644 index 00000000..4fe5e323 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-unmute-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mod-unmute-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mod-unmute-outline.svg new file mode 100644 index 00000000..fc66aec9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mod-unmute-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-music-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-music-fill.svg new file mode 100644 index 00000000..572bbb39 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-music-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-music-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-music-outline.svg new file mode 100644 index 00000000..a5727ff3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-music-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mute-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-mute-fill.svg new file mode 100644 index 00000000..832479a5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mute-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-mute-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-mute-outline.svg new file mode 100644 index 00000000..e3020eaf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-mute-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-new-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-new-fill.svg new file mode 100644 index 00000000..b663a159 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-new-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-new-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-new-outline.svg new file mode 100644 index 00000000..fbbf8adc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-new-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-night-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-night-fill.svg new file mode 100644 index 00000000..c266c32d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-night-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-night-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-night-outline.svg new file mode 100644 index 00000000..da392e61 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-night-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-fill-24.svg new file mode 100644 index 00000000..21899eb1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-fill.svg new file mode 100644 index 00000000..ee584c12 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-frequent-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-frequent-fill.svg new file mode 100644 index 00000000..cdb5cc57 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-frequent-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-frequent-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-frequent-outline.svg new file mode 100644 index 00000000..8ef14b28 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-frequent-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-off-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-off-fill.svg new file mode 100644 index 00000000..8ec456fc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-off-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-off-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-off-outline.svg new file mode 100644 index 00000000..9fff79d6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-off-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-outline-24.svg new file mode 100644 index 00000000..80641815 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-notification-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-notification-outline.svg new file mode 100644 index 00000000..7308b277 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-notification-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-nsfw-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-nsfw-fill.svg new file mode 100644 index 00000000..c586800d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-nsfw-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-nsfw-language-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-nsfw-language-fill.svg new file mode 100644 index 00000000..18329ee2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-nsfw-language-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-nsfw-language-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-nsfw-language-outline.svg new file mode 100644 index 00000000..b33c2979 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-nsfw-language-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-nsfw-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-nsfw-outline.svg new file mode 100644 index 00000000..9a4de5cc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-nsfw-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-nsfw-violence-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-nsfw-violence-fill.svg new file mode 100644 index 00000000..8bd10746 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-nsfw-violence-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-nsfw-violence-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-nsfw-violence-outline.svg new file mode 100644 index 00000000..b094986b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-nsfw-violence-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-official-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-official-fill.svg new file mode 100644 index 00000000..e168285b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-official-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-official-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-official-outline.svg new file mode 100644 index 00000000..598e67f9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-official-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-original-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-original-fill.svg new file mode 100644 index 00000000..4ca68cd6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-original-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-original-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-original-outline.svg new file mode 100644 index 00000000..30a44e12 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-original-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-caret-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-caret-fill.svg new file mode 100644 index 00000000..f66f72dc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-caret-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-caret-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-caret-outline.svg new file mode 100644 index 00000000..26a891eb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-caret-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-fill-24.svg new file mode 100644 index 00000000..663e67ac --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-fill.svg new file mode 100644 index 00000000..eef8a3f1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-outline-24.svg new file mode 100644 index 00000000..d9c8f021 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-outline.svg new file mode 100644 index 00000000..8e0f71ca --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-horizontal-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-vertical-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-vertical-fill.svg new file mode 100644 index 00000000..bba12847 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-vertical-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-overflow-vertical-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-overflow-vertical-outline.svg new file mode 100644 index 00000000..42e98cb8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-overflow-vertical-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-pause-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-pause-fill.svg new file mode 100644 index 00000000..2893f421 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-pause-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-pause-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-pause-outline.svg new file mode 100644 index 00000000..4aae6725 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-pause-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-payment-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-payment-fill.svg new file mode 100644 index 00000000..f47242b9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-payment-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-payment-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-payment-outline.svg new file mode 100644 index 00000000..11bb1569 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-payment-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-peace-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-peace-fill.svg new file mode 100644 index 00000000..73afbd4a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-peace-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-peace-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-peace-outline.svg new file mode 100644 index 00000000..f59fa853 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-peace-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-pending-posts-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-pending-posts-fill.svg new file mode 100644 index 00000000..eeae35fd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-pending-posts-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-pending-posts-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-pending-posts-outline.svg new file mode 100644 index 00000000..f52af44f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-pending-posts-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-phone-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-phone-fill.svg new file mode 100644 index 00000000..2fe1fe6d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-phone-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-phone-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-phone-outline.svg new file mode 100644 index 00000000..d061ef94 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-phone-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-pin-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-pin-fill.svg new file mode 100644 index 00000000..ffbb5ca6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-pin-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-pin-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-pin-outline.svg new file mode 100644 index 00000000..5468381d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-pin-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-play-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-play-fill.svg new file mode 100644 index 00000000..1fde6b1f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-play-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-play-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-play-outline.svg new file mode 100644 index 00000000..44072b5c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-play-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-poll-post-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-poll-post-fill.svg new file mode 100644 index 00000000..b5ef83c7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-poll-post-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-poll-post-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-poll-post-outline.svg new file mode 100644 index 00000000..f96a5866 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-poll-post-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-popular-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-popular-fill.svg new file mode 100644 index 00000000..4c9f39b0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-popular-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-popular-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-popular-outline.svg new file mode 100644 index 00000000..94697c6e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-popular-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-posts-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-posts-fill.svg new file mode 100644 index 00000000..f8e2ef7a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-posts-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-posts-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-posts-outline.svg new file mode 100644 index 00000000..8bbdf583 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-posts-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-powerup-color.svg b/versioned_docs/version-0.14/assets/icons/icon-powerup-color.svg new file mode 100644 index 00000000..0c8e798b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-powerup-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-powerup-fill-color.svg b/versioned_docs/version-0.14/assets/icons/icon-powerup-fill-color.svg new file mode 100644 index 00000000..02b99781 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-powerup-fill-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-powerup-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-powerup-fill.svg new file mode 100644 index 00000000..bc5d965a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-powerup-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-powerup-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-powerup-outline.svg new file mode 100644 index 00000000..5dc7da1d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-powerup-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-predictions-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-predictions-fill.svg new file mode 100644 index 00000000..7c8be073 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-predictions-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-predictions-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-predictions-outline.svg new file mode 100644 index 00000000..6ce3f850 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-predictions-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-premium-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-premium-fill.svg new file mode 100644 index 00000000..b0e88393 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-premium-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-premium-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-premium-outline.svg new file mode 100644 index 00000000..36ff985d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-premium-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-privacy-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-privacy-fill.svg new file mode 100644 index 00000000..7c5ce2de --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-privacy-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-privacy-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-privacy-outline.svg new file mode 100644 index 00000000..37c9aa4e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-privacy-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-profile-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-profile-fill.svg new file mode 100644 index 00000000..9d9f41e7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-profile-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-profile-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-profile-outline.svg new file mode 100644 index 00000000..d428dccc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-profile-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-qa-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-qa-fill.svg new file mode 100644 index 00000000..3324936e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-qa-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-qa-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-qa-outline.svg new file mode 100644 index 00000000..a15b5af6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-qa-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-qr-code-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-qr-code-fill.svg new file mode 100644 index 00000000..5c4e4e63 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-qr-code-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-qr-code-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-qr-code-outline.svg new file mode 100644 index 00000000..db71b109 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-qr-code-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-quarantined-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-quarantined-fill.svg new file mode 100644 index 00000000..d422850c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-quarantined-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-quarantined-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-quarantined-outline.svg new file mode 100644 index 00000000..bd0fe499 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-quarantined-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-quote-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-quote-fill.svg new file mode 100644 index 00000000..2e16b66e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-quote-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-quote-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-quote-outline.svg new file mode 100644 index 00000000..138fdede --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-quote-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-r-slash-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-r-slash-fill.svg new file mode 100644 index 00000000..8ea867a5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-r-slash-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-r-slash-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-r-slash-outline.svg new file mode 100644 index 00000000..d53e0d81 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-r-slash-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-radio-button-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-radio-button-fill.svg new file mode 100644 index 00000000..17634cc6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-radio-button-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-radio-button-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-radio-button-outline.svg new file mode 100644 index 00000000..61ab9d15 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-radio-button-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-raise-hand-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-raise-hand-fill.svg new file mode 100644 index 00000000..c2ee6b51 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-raise-hand-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-raise-hand-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-raise-hand-outline.svg new file mode 100644 index 00000000..ca88b8d6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-raise-hand-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-random-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-random-fill.svg new file mode 100644 index 00000000..aaf21bd5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-random-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-random-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-random-outline.svg new file mode 100644 index 00000000..8328568b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-random-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-everyone-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-everyone-fill.svg new file mode 100644 index 00000000..79d5e207 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-everyone-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-everyone-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-everyone-outline.svg new file mode 100644 index 00000000..958cfaab --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-everyone-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-mature-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-mature-fill.svg new file mode 100644 index 00000000..adebf06f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-mature-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-mature-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-mature-outline.svg new file mode 100644 index 00000000..7375df49 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-mature-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-nsfw-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-nsfw-fill.svg new file mode 100644 index 00000000..8ae101a9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-nsfw-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-nsfw-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-nsfw-outline.svg new file mode 100644 index 00000000..5efaece2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-nsfw-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-violence-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-violence-fill.svg new file mode 100644 index 00000000..4b130fc8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-violence-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-ratings-violence-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-ratings-violence-outline.svg new file mode 100644 index 00000000..209cb32b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-ratings-violence-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-recovery-phrase-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-recovery-phrase-fill.svg new file mode 100644 index 00000000..59912fcc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-recovery-phrase-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-recovery-phrase-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-recovery-phrase-outline.svg new file mode 100644 index 00000000..f030d4a3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-recovery-phrase-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-refresh-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-refresh-fill.svg new file mode 100644 index 00000000..145af422 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-refresh-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-refresh-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-refresh-outline.svg new file mode 100644 index 00000000..fd337e0a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-refresh-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-removal-reasons-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-removal-reasons-fill.svg new file mode 100644 index 00000000..f449e496 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-removal-reasons-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-removal-reasons-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-removal-reasons-outline.svg new file mode 100644 index 00000000..2959171f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-removal-reasons-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-remove-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-remove-fill.svg new file mode 100644 index 00000000..77c90322 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-remove-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-remove-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-remove-outline.svg new file mode 100644 index 00000000..427a0ba3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-remove-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-reply-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-reply-fill.svg new file mode 100644 index 00000000..f9ed4ea8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-reply-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-reply-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-reply-outline.svg new file mode 100644 index 00000000..1005ebc7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-reply-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-report-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-report-fill.svg new file mode 100644 index 00000000..c8b2f953 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-report-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-report-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-report-outline.svg new file mode 100644 index 00000000..f93c4531 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-report-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-reverse-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-reverse-fill.svg new file mode 100644 index 00000000..713bb978 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-reverse-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-reverse-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-reverse-outline.svg new file mode 100644 index 00000000..ba71dd17 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-reverse-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rich-text-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-rich-text-fill.svg new file mode 100644 index 00000000..61f7c5e3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rich-text-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rich-text-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-rich-text-outline.svg new file mode 100644 index 00000000..a9994e67 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rich-text-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-right-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-right-fill.svg new file mode 100644 index 00000000..0e9f2b18 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-right-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-right-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-right-outline.svg new file mode 100644 index 00000000..ae126ddc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-right-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rising-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-rising-fill.svg new file mode 100644 index 00000000..0d6fab40 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rising-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rising-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-rising-outline.svg new file mode 100644 index 00000000..afeb048f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rising-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rotate-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-rotate-fill.svg new file mode 100644 index 00000000..aca5fa54 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rotate-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rotate-image-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-rotate-image-fill.svg new file mode 100644 index 00000000..ab5f6139 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rotate-image-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rotate-image-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-rotate-image-outline.svg new file mode 100644 index 00000000..a93edc39 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rotate-image-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rotate-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-rotate-outline.svg new file mode 100644 index 00000000..e2a51d26 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rotate-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rpan-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-rpan-fill.svg new file mode 100644 index 00000000..3025d96c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rpan-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rpan-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-rpan-outline.svg new file mode 100644 index 00000000..6aa88a84 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rpan-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rules-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-rules-fill.svg new file mode 100644 index 00000000..03736796 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rules-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-rules-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-rules-outline.svg new file mode 100644 index 00000000..c3d5a8f7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-rules-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-safari-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-safari-fill.svg new file mode 100644 index 00000000..dd0c0ece --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-safari-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-safari-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-safari-outline.svg new file mode 100644 index 00000000..48579946 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-safari-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-save-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-save-fill.svg new file mode 100644 index 00000000..2baccb02 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-save-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-save-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-save-outline.svg new file mode 100644 index 00000000..52649a6f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-save-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-save-view-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-save-view-fill.svg new file mode 100644 index 00000000..d468e142 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-save-view-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-save-view-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-save-view-outline.svg new file mode 100644 index 00000000..c8e183a0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-save-view-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-saved-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-saved-fill.svg new file mode 100644 index 00000000..b2943480 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-saved-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-saved-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-saved-outline.svg new file mode 100644 index 00000000..11249fd5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-saved-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-search-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-search-fill-24.svg new file mode 100644 index 00000000..4a0be7ea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-search-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-search-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-search-fill.svg new file mode 100644 index 00000000..78b88b44 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-search-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-search-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-search-outline-24.svg new file mode 100644 index 00000000..1a1e609f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-search-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-search-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-search-outline.svg new file mode 100644 index 00000000..b7aa3d09 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-search-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-self-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-self-fill.svg new file mode 100644 index 00000000..f068b2af --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-self-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-self-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-self-outline.svg new file mode 100644 index 00000000..b97bc765 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-self-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-send-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-send-fill.svg new file mode 100644 index 00000000..1e68239e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-send-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-send-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-send-outline.svg new file mode 100644 index 00000000..0ecf0928 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-send-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-settings-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-settings-fill.svg new file mode 100644 index 00000000..88958da9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-settings-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-settings-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-settings-outline.svg new file mode 100644 index 00000000..6214933f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-settings-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-severity-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-severity-fill.svg new file mode 100644 index 00000000..1511481d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-severity-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-severity-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-severity-outline.svg new file mode 100644 index 00000000..f6b3d29a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-severity-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-android-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-share-android-fill.svg new file mode 100644 index 00000000..0ec0c822 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-android-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-android-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-share-android-outline.svg new file mode 100644 index 00000000..d1339270 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-android-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-share-fill.svg new file mode 100644 index 00000000..03797d3b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-ios-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-share-ios-fill.svg new file mode 100644 index 00000000..670c7700 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-ios-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-ios-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-share-ios-outline.svg new file mode 100644 index 00000000..8691190d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-ios-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-new-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-share-new-fill.svg new file mode 100644 index 00000000..8d106475 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-new-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-new-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-share-new-outline.svg new file mode 100644 index 00000000..7afb960c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-new-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-share-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-share-outline.svg new file mode 100644 index 00000000..fec2ce94 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-share-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-show-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-show-fill.svg new file mode 100644 index 00000000..9a7b85e0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-show-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-show-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-show-outline.svg new file mode 100644 index 00000000..d9a33518 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-show-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-side-menu-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-side-menu-fill.svg new file mode 100644 index 00000000..85b29e7e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-side-menu-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-side-menu-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-side-menu-outline.svg new file mode 100644 index 00000000..4b472ed8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-side-menu-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-skipback10-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-skipback10-fill.svg new file mode 100644 index 00000000..57df13c1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-skipback10-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-skipback10-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-skipback10-outline.svg new file mode 100644 index 00000000..f131d573 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-skipback10-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-skipforward10-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-skipforward10-fill.svg new file mode 100644 index 00000000..d964433c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-skipforward10-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-skipforward10-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-skipforward10-outline.svg new file mode 100644 index 00000000..f47d6d90 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-skipforward10-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-az-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-az-fill.svg new file mode 100644 index 00000000..5f5fd6e9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-az-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-az-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-az-outline.svg new file mode 100644 index 00000000..80227b5b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-az-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-fill.svg new file mode 100644 index 00000000..a79532e6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-outline.svg new file mode 100644 index 00000000..4ab41138 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-price-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-price-fill.svg new file mode 100644 index 00000000..63ad6e40 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-price-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-price-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-price-outline.svg new file mode 100644 index 00000000..f9d6ea3f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-price-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-za-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-za-fill.svg new file mode 100644 index 00000000..bd45e10d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-za-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sort-za-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-sort-za-outline.svg new file mode 100644 index 00000000..1f42dcce --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sort-za-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-spam-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-spam-fill.svg new file mode 100644 index 00000000..3bc472a5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-spam-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-spam-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-spam-outline.svg new file mode 100644 index 00000000..8514736f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-spam-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-spoiler-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-spoiler-fill.svg new file mode 100644 index 00000000..6c304dbd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-spoiler-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-spoiler-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-spoiler-outline.svg new file mode 100644 index 00000000..495fa935 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-spoiler-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sponsored-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-sponsored-fill.svg new file mode 100644 index 00000000..c78dae8a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sponsored-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sponsored-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-sponsored-outline.svg new file mode 100644 index 00000000..6391547a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sponsored-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-spreadsheet-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-spreadsheet-fill.svg new file mode 100644 index 00000000..a0629949 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-spreadsheet-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-spreadsheet-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-spreadsheet-outline.svg new file mode 100644 index 00000000..8e2b4b75 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-spreadsheet-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-star-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-star-fill.svg new file mode 100644 index 00000000..b931cd8d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-star-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-star-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-star-outline.svg new file mode 100644 index 00000000..7bdede73 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-star-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-statistics-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-statistics-fill.svg new file mode 100644 index 00000000..84d38f20 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-statistics-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-statistics-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-statistics-outline.svg new file mode 100644 index 00000000..13461b3c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-statistics-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-status-live-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-status-live-fill.svg new file mode 100644 index 00000000..56d9bbb3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-status-live-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-status-live-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-status-live-outline.svg new file mode 100644 index 00000000..b8aff72d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-status-live-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sticker-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-sticker-fill.svg new file mode 100644 index 00000000..41f9a5b0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sticker-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-sticker-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-sticker-outline.svg new file mode 100644 index 00000000..9dd44eac --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-sticker-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-strikethrough-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-strikethrough-fill.svg new file mode 100644 index 00000000..1286dc10 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-strikethrough-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-strikethrough-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-strikethrough-outline.svg new file mode 100644 index 00000000..bc1c8d8d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-strikethrough-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-subtract-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-subtract-fill.svg new file mode 100644 index 00000000..9e61d296 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-subtract-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-subtract-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-subtract-outline.svg new file mode 100644 index 00000000..486bae28 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-subtract-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-superscript-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-superscript-fill.svg new file mode 100644 index 00000000..066edd7e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-superscript-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-superscript-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-superscript-outline.svg new file mode 100644 index 00000000..b89a494f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-superscript-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swap-camera-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-swap-camera-fill.svg new file mode 100644 index 00000000..a0280361 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swap-camera-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swap-camera-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-swap-camera-outline.svg new file mode 100644 index 00000000..13fbd6bb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swap-camera-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-back-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-back-fill.svg new file mode 100644 index 00000000..a46bcfdf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-back-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-back-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-back-outline.svg new file mode 100644 index 00000000..15ee5dbe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-back-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-down-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-down-fill.svg new file mode 100644 index 00000000..8f9ed518 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-down-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-down-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-down-outline.svg new file mode 100644 index 00000000..cbf2938d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-down-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-fill.svg new file mode 100644 index 00000000..b5a9e954 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-outline.svg new file mode 100644 index 00000000..af90e56a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-up-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-up-fill.svg new file mode 100644 index 00000000..eb0bd66c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-up-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-swipe-up-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-swipe-up-outline.svg new file mode 100644 index 00000000..4452a13b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-swipe-up-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-table-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-table-fill.svg new file mode 100644 index 00000000..51863d31 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-table-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-table-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-table-outline.svg new file mode 100644 index 00000000..3954ec7c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-table-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-tag-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-tag-fill.svg new file mode 100644 index 00000000..d0f560bf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-tag-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-tag-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-tag-outline.svg new file mode 100644 index 00000000..5bd945c4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-tag-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-tap-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-tap-fill.svg new file mode 100644 index 00000000..4340b0ab --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-tap-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-tap-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-tap-outline.svg new file mode 100644 index 00000000..3b127eb3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-tap-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-text-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-text-fill.svg new file mode 100644 index 00000000..de25cee6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-text-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-text-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-text-outline.svg new file mode 100644 index 00000000..4f84f7ae --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-text-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-text-post-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-text-post-fill.svg new file mode 100644 index 00000000..e3b7f3ad --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-text-post-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-text-post-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-text-post-outline.svg new file mode 100644 index 00000000..f10bd33e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-text-post-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-text-size-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-text-size-fill.svg new file mode 100644 index 00000000..646b098f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-text-size-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-text-size-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-text-size-outline.svg new file mode 100644 index 00000000..86fef49c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-text-size-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-toggle-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-toggle-fill.svg new file mode 100644 index 00000000..d63fa127 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-toggle-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-toggle-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-toggle-outline.svg new file mode 100644 index 00000000..1ca151d9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-toggle-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-tools-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-tools-fill.svg new file mode 100644 index 00000000..eceee5ce --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-tools-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-tools-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-tools-outline.svg new file mode 100644 index 00000000..56877724 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-tools-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-top-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-top-fill.svg new file mode 100644 index 00000000..0cfae2ea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-top-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-top-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-top-outline.svg new file mode 100644 index 00000000..cb9f7e8b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-top-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-activism-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-activism-fill.svg new file mode 100644 index 00000000..c3675ad3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-activism-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-activism-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-activism-outline.svg new file mode 100644 index 00000000..c42d6c20 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-activism-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-addictionsupport-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-addictionsupport-fill.svg new file mode 100644 index 00000000..b7a7b0f1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-addictionsupport-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-addictionsupport-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-addictionsupport-outline.svg new file mode 100644 index 00000000..fc2fd080 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-addictionsupport-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-advice-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-advice-fill.svg new file mode 100644 index 00000000..1ba8c71f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-advice-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-advice-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-advice-outline.svg new file mode 100644 index 00000000..29e43dbf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-advice-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-animals-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-animals-fill.svg new file mode 100644 index 00000000..71351a8b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-animals-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-animals-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-animals-outline.svg new file mode 100644 index 00000000..4a82a54d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-animals-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-anime-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-anime-fill.svg new file mode 100644 index 00000000..c7ff0ba7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-anime-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-anime-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-anime-outline.svg new file mode 100644 index 00000000..a241a303 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-anime-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-art-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-art-fill.svg new file mode 100644 index 00000000..fbba9107 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-art-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-art-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-art-outline.svg new file mode 100644 index 00000000..ecc4b6d8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-art-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-beauty-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-beauty-fill.svg new file mode 100644 index 00000000..004643f6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-beauty-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-beauty-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-beauty-outline.svg new file mode 100644 index 00000000..b2417d94 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-beauty-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-business-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-business-fill.svg new file mode 100644 index 00000000..0522d991 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-business-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-business-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-business-outline.svg new file mode 100644 index 00000000..dae62414 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-business-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-careers-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-careers-fill.svg new file mode 100644 index 00000000..3cad68a9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-careers-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-careers-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-careers-outline.svg new file mode 100644 index 00000000..c7ee219b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-careers-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-cars-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-cars-fill.svg new file mode 100644 index 00000000..93b0ab88 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-cars-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-cars-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-cars-outline.svg new file mode 100644 index 00000000..4f6c148d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-cars-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-celebrity-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-celebrity-fill.svg new file mode 100644 index 00000000..113e268c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-celebrity-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-celebrity-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-celebrity-outline.svg new file mode 100644 index 00000000..75f14147 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-celebrity-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-craftsdiy-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-craftsdiy-fill.svg new file mode 100644 index 00000000..a8d157ea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-craftsdiy-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-craftsdiy-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-craftsdiy-outline.svg new file mode 100644 index 00000000..f4374ccc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-craftsdiy-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-crypto-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-crypto-fill.svg new file mode 100644 index 00000000..04c38e1d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-crypto-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-crypto-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-crypto-outline.svg new file mode 100644 index 00000000..80bea825 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-crypto-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-culture-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-culture-fill.svg new file mode 100644 index 00000000..04e61567 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-culture-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-culture-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-culture-outline.svg new file mode 100644 index 00000000..d17024a6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-culture-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-diy-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-diy-fill.svg new file mode 100644 index 00000000..a6cf0ac3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-diy-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-diy-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-diy-outline.svg new file mode 100644 index 00000000..ea4df4ac --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-diy-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-entertainment-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-entertainment-fill.svg new file mode 100644 index 00000000..871dd103 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-entertainment-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-entertainment-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-entertainment-outline.svg new file mode 100644 index 00000000..0db261d1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-entertainment-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-ethics-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-ethics-fill.svg new file mode 100644 index 00000000..0e02041b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-ethics-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-ethics-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-ethics-outline.svg new file mode 100644 index 00000000..4a37fcbc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-ethics-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-family-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-family-fill.svg new file mode 100644 index 00000000..73c79905 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-family-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-family-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-family-outline.svg new file mode 100644 index 00000000..2d294481 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-family-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-fashion-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-fashion-fill.svg new file mode 100644 index 00000000..408fb6fe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-fashion-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-fashion-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-fashion-outline.svg new file mode 100644 index 00000000..ee96a048 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-fashion-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-fill.svg new file mode 100644 index 00000000..d634b1a3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-fitness-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-fitness-fill.svg new file mode 100644 index 00000000..47024c3f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-fitness-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-fitness-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-fitness-outline.svg new file mode 100644 index 00000000..e95e8595 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-fitness-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-food-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-food-fill.svg new file mode 100644 index 00000000..1ff72304 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-food-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-food-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-food-outline.svg new file mode 100644 index 00000000..5888d4bb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-food-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-funny-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-funny-fill.svg new file mode 100644 index 00000000..c15cd164 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-funny-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-funny-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-funny-outline.svg new file mode 100644 index 00000000..b5f6c7d0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-funny-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-gender-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-gender-fill.svg new file mode 100644 index 00000000..0d9370fa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-gender-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-gender-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-gender-outline.svg new file mode 100644 index 00000000..44e545b7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-gender-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-health-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-health-fill.svg new file mode 100644 index 00000000..05006ff0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-health-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-health-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-health-outline.svg new file mode 100644 index 00000000..eb6e5608 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-health-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-help-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-help-fill.svg new file mode 100644 index 00000000..f57f24af --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-help-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-help-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-help-outline.svg new file mode 100644 index 00000000..5c411b85 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-help-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-history-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-history-fill.svg new file mode 100644 index 00000000..401874ee --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-history-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-history-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-history-outline.svg new file mode 100644 index 00000000..311512fa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-history-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-hobbies-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-hobbies-fill.svg new file mode 100644 index 00000000..a8d157ea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-hobbies-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-hobbies-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-hobbies-outline.svg new file mode 100644 index 00000000..f4374ccc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-hobbies-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-homegarden-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-homegarden-fill.svg new file mode 100644 index 00000000..680d7089 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-homegarden-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-homegarden-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-homegarden-outline.svg new file mode 100644 index 00000000..eac91b5a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-homegarden-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-internet-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-internet-fill.svg new file mode 100644 index 00000000..4a81cbf1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-internet-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-internet-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-internet-outline.svg new file mode 100644 index 00000000..ad5c324c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-internet-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-law-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-law-fill.svg new file mode 100644 index 00000000..c4b75bab --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-law-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-law-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-law-outline.svg new file mode 100644 index 00000000..bc6599f1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-law-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-learning-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-learning-fill.svg new file mode 100644 index 00000000..e10e7522 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-learning-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-learning-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-learning-outline.svg new file mode 100644 index 00000000..a7816add --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-learning-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-lifestyle-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-lifestyle-fill.svg new file mode 100644 index 00000000..680d7089 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-lifestyle-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-lifestyle-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-lifestyle-outline.svg new file mode 100644 index 00000000..eac91b5a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-lifestyle-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-marketplace-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-marketplace-fill.svg new file mode 100644 index 00000000..7fe6a22b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-marketplace-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-marketplace-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-marketplace-outline.svg new file mode 100644 index 00000000..37099243 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-marketplace-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-mature-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-mature-fill.svg new file mode 100644 index 00000000..ef789954 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-mature-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-mature-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-mature-outline.svg new file mode 100644 index 00000000..0e1129c8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-mature-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-mensfashion-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-mensfashion-fill.svg new file mode 100644 index 00000000..51dfc67f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-mensfashion-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-mensfashion-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-mensfashion-outline.svg new file mode 100644 index 00000000..be2bfa2a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-mensfashion-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-menshealth-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-menshealth-fill.svg new file mode 100644 index 00000000..bd52fdea --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-menshealth-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-menshealth-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-menshealth-outline.svg new file mode 100644 index 00000000..742b91f7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-menshealth-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-meta-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-meta-fill.svg new file mode 100644 index 00000000..a27c630a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-meta-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-meta-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-meta-outline.svg new file mode 100644 index 00000000..a484465f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-meta-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-military-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-military-fill.svg new file mode 100644 index 00000000..14c6c871 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-military-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-military-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-military-outline.svg new file mode 100644 index 00000000..102de829 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-military-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-movies-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-movies-fill.svg new file mode 100644 index 00000000..0dc83cf2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-movies-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-movies-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-movies-outline.svg new file mode 100644 index 00000000..dd5ae8eb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-movies-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-music-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-music-fill.svg new file mode 100644 index 00000000..ff6cd386 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-music-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-music-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-music-outline.svg new file mode 100644 index 00000000..e1e84136 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-music-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-news-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-news-fill.svg new file mode 100644 index 00000000..c7bbee98 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-news-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-news-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-news-outline.svg new file mode 100644 index 00000000..b31f0261 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-news-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-other-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-other-fill.svg new file mode 100644 index 00000000..d8127231 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-other-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-other-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-other-outline.svg new file mode 100644 index 00000000..5bb2b2e7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-other-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-outdoors-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-outdoors-fill.svg new file mode 100644 index 00000000..bfad1ccd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-outdoors-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-outdoors-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-outdoors-outline.svg new file mode 100644 index 00000000..1245dcef --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-outdoors-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-outline.svg new file mode 100644 index 00000000..535eddce --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-pets-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-pets-fill.svg new file mode 100644 index 00000000..3e49be62 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-pets-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-pets-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-pets-outline.svg new file mode 100644 index 00000000..7c5469f5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-pets-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-photography-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-photography-fill.svg new file mode 100644 index 00000000..79861fdb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-photography-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-photography-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-photography-outline.svg new file mode 100644 index 00000000..3edd37ac --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-photography-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-places-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-places-fill.svg new file mode 100644 index 00000000..d14a5db1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-places-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-places-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-places-outline.svg new file mode 100644 index 00000000..cec875d5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-places-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-podcasts-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-podcasts-fill.svg new file mode 100644 index 00000000..d518f7a5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-podcasts-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-podcasts-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-podcasts-outline.svg new file mode 100644 index 00000000..16d82269 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-podcasts-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-politics-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-politics-fill.svg new file mode 100644 index 00000000..a8740b3d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-politics-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-politics-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-politics-outline.svg new file mode 100644 index 00000000..229b4ff5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-politics-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-programming-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-programming-fill.svg new file mode 100644 index 00000000..fe0725ef --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-programming-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-programming-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-programming-outline.svg new file mode 100644 index 00000000..2f27731a --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-programming-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-reading-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-reading-fill.svg new file mode 100644 index 00000000..dde14f5d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-reading-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-reading-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-reading-outline.svg new file mode 100644 index 00000000..5108620d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-reading-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-religion-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-religion-fill.svg new file mode 100644 index 00000000..91ec5a64 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-religion-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-religion-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-religion-outline.svg new file mode 100644 index 00000000..b0accebe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-religion-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-science-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-science-fill.svg new file mode 100644 index 00000000..df8f3714 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-science-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-science-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-science-outline.svg new file mode 100644 index 00000000..97415741 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-science-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-sexorientation-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-sexorientation-fill.svg new file mode 100644 index 00000000..162116cf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-sexorientation-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-sexorientation-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-sexorientation-outline.svg new file mode 100644 index 00000000..8924df4c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-sexorientation-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-sports-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-sports-fill.svg new file mode 100644 index 00000000..158480aa --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-sports-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-sports-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-sports-outline.svg new file mode 100644 index 00000000..896064fe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-sports-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-style-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-style-fill.svg new file mode 100644 index 00000000..7fe6a22b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-style-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-style-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-style-outline.svg new file mode 100644 index 00000000..37099243 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-style-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-tabletop-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-tabletop-fill.svg new file mode 100644 index 00000000..e45fd3a4 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-tabletop-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-tabletop-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-tabletop-outline.svg new file mode 100644 index 00000000..09f3772f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-tabletop-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-technology-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-technology-fill.svg new file mode 100644 index 00000000..1b53ccd7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-technology-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-technology-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-technology-outline.svg new file mode 100644 index 00000000..f2a7d1b0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-technology-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-television-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-television-fill.svg new file mode 100644 index 00000000..4129dbfd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-television-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-television-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-television-outline.svg new file mode 100644 index 00000000..f600f5f5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-television-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-traumasupport-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-traumasupport-fill.svg new file mode 100644 index 00000000..f8d2c26e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-traumasupport-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-traumasupport-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-traumasupport-outline.svg new file mode 100644 index 00000000..6640e5fb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-traumasupport-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-travel-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-travel-fill.svg new file mode 100644 index 00000000..b82de9b7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-travel-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-travel-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-travel-outline.svg new file mode 100644 index 00000000..52c5c102 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-travel-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-videogaming-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-videogaming-fill.svg new file mode 100644 index 00000000..28f773fe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-videogaming-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-videogaming-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-videogaming-outline.svg new file mode 100644 index 00000000..e3fe9745 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-videogaming-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-womensfashion-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-womensfashion-fill.svg new file mode 100644 index 00000000..408fb6fe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-womensfashion-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-womensfashion-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-womensfashion-outline.svg new file mode 100644 index 00000000..ee96a048 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-womensfashion-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-womenshealth-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-womenshealth-fill.svg new file mode 100644 index 00000000..7f10515e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-womenshealth-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-topic-womenshealth-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-topic-womenshealth-outline.svg new file mode 100644 index 00000000..dcff3a6b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-topic-womenshealth-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-translate-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-translate-fill.svg new file mode 100644 index 00000000..7f62733d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-translate-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-translate-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-translate-outline.svg new file mode 100644 index 00000000..4372abbe --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-translate-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-translation-off-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-translation-off-fill.svg new file mode 100644 index 00000000..40f2fa0f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-translation-off-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-translation-off-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-translation-off-outline.svg new file mode 100644 index 00000000..547198d7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-translation-off-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-trim-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-trim-fill.svg new file mode 100644 index 00000000..fc1e10fc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-trim-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-trim-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-trim-outline.svg new file mode 100644 index 00000000..5f8912c7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-trim-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-u-slash-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-u-slash-fill.svg new file mode 100644 index 00000000..15097b6d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-u-slash-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-u-slash-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-u-slash-outline.svg new file mode 100644 index 00000000..d1eed992 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-u-slash-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unban-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unban-fill.svg new file mode 100644 index 00000000..1a084b3f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unban-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unban-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unban-outline.svg new file mode 100644 index 00000000..0a3a4481 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unban-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-undo-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-undo-fill.svg new file mode 100644 index 00000000..08657ccb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-undo-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-undo-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-undo-outline.svg new file mode 100644 index 00000000..ccb96b1d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-undo-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unheart-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unheart-fill.svg new file mode 100644 index 00000000..4dded3cd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unheart-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unheart-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unheart-outline.svg new file mode 100644 index 00000000..6d500d40 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unheart-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unlock-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unlock-fill.svg new file mode 100644 index 00000000..bc0813e3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unlock-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unlock-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unlock-outline.svg new file mode 100644 index 00000000..01ab0584 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unlock-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unmod-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unmod-fill.svg new file mode 100644 index 00000000..0809038c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unmod-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unmod-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unmod-outline.svg new file mode 100644 index 00000000..b81e7fa8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unmod-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unpin-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unpin-fill.svg new file mode 100644 index 00000000..9fa6cf9f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unpin-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unpin-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unpin-outline.svg new file mode 100644 index 00000000..a68c68af --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unpin-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unstar-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unstar-fill.svg new file mode 100644 index 00000000..c677f6cf --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unstar-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unstar-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unstar-outline.svg new file mode 100644 index 00000000..622e02cb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unstar-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unverified-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-unverified-fill.svg new file mode 100644 index 00000000..5c8df14c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unverified-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-unverified-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-unverified-outline.svg new file mode 100644 index 00000000..324732e6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-unverified-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-up-arrow-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-up-arrow-fill.svg new file mode 100644 index 00000000..384381fd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-up-arrow-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-up-arrow-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-up-arrow-outline.svg new file mode 100644 index 00000000..b7ca0fdd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-up-arrow-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-up-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-up-fill.svg new file mode 100644 index 00000000..ad4c5606 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-up-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-up-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-up-outline.svg new file mode 100644 index 00000000..ae663b96 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-up-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upload-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-upload-fill.svg new file mode 100644 index 00000000..33d634d6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upload-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upload-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-upload-outline.svg new file mode 100644 index 00000000..ad6c2a32 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upload-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upvote-fill-mask.svg b/versioned_docs/version-0.14/assets/icons/icon-upvote-fill-mask.svg new file mode 100644 index 00000000..e1426e72 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upvote-fill-mask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upvote-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-upvote-fill.svg new file mode 100644 index 00000000..595a3d02 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upvote-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upvote-offsetmask.svg b/versioned_docs/version-0.14/assets/icons/icon-upvote-offsetmask.svg new file mode 100644 index 00000000..e1426e72 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upvote-offsetmask.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upvote-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-upvote-outline.svg new file mode 100644 index 00000000..a76c67a0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upvote-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upvotes-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-upvotes-fill.svg new file mode 100644 index 00000000..3997bbeb --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upvotes-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-upvotes-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-upvotes-outline.svg new file mode 100644 index 00000000..d7546dc2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-upvotes-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-user-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-user-fill.svg new file mode 100644 index 00000000..f985f7b6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-user-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-user-note-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-user-note-fill.svg new file mode 100644 index 00000000..ff02bfa8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-user-note-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-user-note-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-user-note-outline.svg new file mode 100644 index 00000000..342f7f4e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-user-note-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-user-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-user-outline.svg new file mode 100644 index 00000000..a22cf50d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-user-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-users-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-users-fill.svg new file mode 100644 index 00000000..d08ddd23 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-users-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-users-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-users-outline.svg new file mode 100644 index 00000000..bab7c79b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-users-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-valentines-day-fill-24.svg b/versioned_docs/version-0.14/assets/icons/icon-valentines-day-fill-24.svg new file mode 100644 index 00000000..63439411 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-valentines-day-fill-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-valentines-day-outline-24.svg b/versioned_docs/version-0.14/assets/icons/icon-valentines-day-outline-24.svg new file mode 100644 index 00000000..a4d0bf13 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-valentines-day-outline-24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-vault-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-vault-fill.svg new file mode 100644 index 00000000..4898c7ff --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-vault-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-vault-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-vault-outline.svg new file mode 100644 index 00000000..fde80156 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-vault-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-verified-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-verified-fill.svg new file mode 100644 index 00000000..ea8c68fd --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-verified-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-verified-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-verified-outline.svg new file mode 100644 index 00000000..3bf0c796 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-verified-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-camera-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-video-camera-fill.svg new file mode 100644 index 00000000..385aa065 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-camera-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-camera-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-video-camera-outline.svg new file mode 100644 index 00000000..95249051 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-camera-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-feed-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-video-feed-fill.svg new file mode 100644 index 00000000..c20356c8 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-feed-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-feed-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-video-feed-outline.svg new file mode 100644 index 00000000..ed5575f5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-feed-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-live-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-video-live-fill.svg new file mode 100644 index 00000000..c48003f0 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-live-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-live-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-video-live-outline.svg new file mode 100644 index 00000000..8bcf5726 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-live-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-post-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-video-post-fill.svg new file mode 100644 index 00000000..1197e193 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-post-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-post-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-video-post-outline.svg new file mode 100644 index 00000000..5938a474 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-post-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-thread-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-video-thread-fill.svg new file mode 100644 index 00000000..a1b48d3d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-thread-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-thread-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-video-thread-outline.svg new file mode 100644 index 00000000..cb658fc6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-thread-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-transcription-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-video-transcription-fill.svg new file mode 100644 index 00000000..326c9c9d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-transcription-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-video-transcription-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-video-transcription-outline.svg new file mode 100644 index 00000000..47eb76dc --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-video-transcription-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-card-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-view-card-fill.svg new file mode 100644 index 00000000..10902ea2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-card-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-card-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-view-card-outline.svg new file mode 100644 index 00000000..f7e06246 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-card-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-classic-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-view-classic-fill.svg new file mode 100644 index 00000000..ab40766f --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-classic-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-classic-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-view-classic-outline.svg new file mode 100644 index 00000000..83c04650 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-classic-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-compact-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-view-compact-fill.svg new file mode 100644 index 00000000..637a4f79 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-compact-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-compact-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-view-compact-outline.svg new file mode 100644 index 00000000..70a117c5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-compact-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-grid-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-view-grid-fill.svg new file mode 100644 index 00000000..dba59b28 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-grid-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-view-grid-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-view-grid-outline.svg new file mode 100644 index 00000000..42b21e23 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-view-grid-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-views-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-views-fill.svg new file mode 100644 index 00000000..ffba9b26 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-views-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-views-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-views-outline.svg new file mode 100644 index 00000000..778e3a5b --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-views-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-volume-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-volume-fill.svg new file mode 100644 index 00000000..31aa48d1 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-volume-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-volume-mute-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-volume-mute-fill.svg new file mode 100644 index 00000000..832479a5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-volume-mute-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-volume-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-volume-outline.svg new file mode 100644 index 00000000..931b01c7 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-volume-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wallet-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-wallet-fill.svg new file mode 100644 index 00000000..696468da --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wallet-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wallet-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-wallet-outline.svg new file mode 100644 index 00000000..9711b60d --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wallet-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-warning-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-warning-fill.svg new file mode 100644 index 00000000..49715087 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-warning-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-warning-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-warning-outline.svg new file mode 100644 index 00000000..54ab4ea3 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-warning-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-webhook-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-webhook-fill.svg new file mode 100644 index 00000000..8b023d5c --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-webhook-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-webhook-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-webhook-outline.svg new file mode 100644 index 00000000..c902ca46 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-webhook-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-whale-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-whale-fill.svg new file mode 100644 index 00000000..0de436b2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-whale-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-whale-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-whale-outline.svg new file mode 100644 index 00000000..fc9a33be --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-whale-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wiki-ban-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-wiki-ban-fill.svg new file mode 100644 index 00000000..a41801ce --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wiki-ban-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wiki-ban-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-wiki-ban-outline.svg new file mode 100644 index 00000000..9d3108c9 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wiki-ban-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wiki-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-wiki-fill.svg new file mode 100644 index 00000000..c6bd15d6 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wiki-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wiki-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-wiki-outline.svg new file mode 100644 index 00000000..008710c2 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wiki-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wiki-unban-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-wiki-unban-fill.svg new file mode 100644 index 00000000..ddcf8d78 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wiki-unban-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-wiki-unban-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-wiki-unban-outline.svg new file mode 100644 index 00000000..fdb42f64 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-wiki-unban-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-world-fill.svg b/versioned_docs/version-0.14/assets/icons/icon-world-fill.svg new file mode 100644 index 00000000..5694453e --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-world-fill.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/icons/icon-world-outline.svg b/versioned_docs/version-0.14/assets/icons/icon-world-outline.svg new file mode 100644 index 00000000..099be4c5 --- /dev/null +++ b/versioned_docs/version-0.14/assets/icons/icon-world-outline.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/versioned_docs/version-0.14/assets/install-app-button.png b/versioned_docs/version-0.14/assets/install-app-button.png new file mode 100644 index 00000000..aa21ad0a Binary files /dev/null and b/versioned_docs/version-0.14/assets/install-app-button.png differ diff --git a/versioned_docs/version-0.14/assets/install.png b/versioned_docs/version-0.14/assets/install.png new file mode 100644 index 00000000..8227c6d0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/install.png differ diff --git a/versioned_docs/version-0.14/assets/intro-to-devvit-mod-action.png b/versioned_docs/version-0.14/assets/intro-to-devvit-mod-action.png new file mode 100644 index 00000000..03e9e063 Binary files /dev/null and b/versioned_docs/version-0.14/assets/intro-to-devvit-mod-action.png differ diff --git a/versioned_docs/version-0.14/assets/intro-to-devvit-playtesting.png b/versioned_docs/version-0.14/assets/intro-to-devvit-playtesting.png new file mode 100644 index 00000000..5344d9aa Binary files /dev/null and b/versioned_docs/version-0.14/assets/intro-to-devvit-playtesting.png differ diff --git a/versioned_docs/version-0.14/assets/intro-to-devvit-sub-action.png b/versioned_docs/version-0.14/assets/intro-to-devvit-sub-action.png new file mode 100644 index 00000000..a24b6ed1 Binary files /dev/null and b/versioned_docs/version-0.14/assets/intro-to-devvit-sub-action.png differ diff --git a/versioned_docs/version-0.14/assets/introduction/SnooToolboxClipboard.webp b/versioned_docs/version-0.14/assets/introduction/SnooToolboxClipboard.webp new file mode 100644 index 00000000..e030f01c Binary files /dev/null and b/versioned_docs/version-0.14/assets/introduction/SnooToolboxClipboard.webp differ diff --git a/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Color_PartyHorn.webp b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Color_PartyHorn.webp new file mode 100644 index 00000000..a8e10079 Binary files /dev/null and b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Color_PartyHorn.webp differ diff --git a/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Color_Toolbox.webp b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Color_Toolbox.webp new file mode 100644 index 00000000..68f65bc5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Color_Toolbox.webp differ diff --git a/versioned_docs/version-0.14/assets/introduction/SpotIllustration_RetroController_B.webp b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_RetroController_B.webp new file mode 100644 index 00000000..93c98b20 Binary files /dev/null and b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_RetroController_B.webp differ diff --git a/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Rocket.webp b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Rocket.webp new file mode 100644 index 00000000..5d093c0c Binary files /dev/null and b/versioned_docs/version-0.14/assets/introduction/SpotIllustration_Rocket.webp differ diff --git a/versioned_docs/version-0.14/assets/lighthouse-score.gif b/versioned_docs/version-0.14/assets/lighthouse-score.gif new file mode 100644 index 00000000..df8f1a4a Binary files /dev/null and b/versioned_docs/version-0.14/assets/lighthouse-score.gif differ diff --git a/versioned_docs/version-0.14/assets/manage_uninstall.png b/versioned_docs/version-0.14/assets/manage_uninstall.png new file mode 100644 index 00000000..94775a2f Binary files /dev/null and b/versioned_docs/version-0.14/assets/manage_uninstall.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_comment.png b/versioned_docs/version-0.14/assets/menu_app_comment.png new file mode 100644 index 00000000..3deda6c0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_comment.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_error.png b/versioned_docs/version-0.14/assets/menu_app_error.png new file mode 100644 index 00000000..34d0829c Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_error.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_mod.png b/versioned_docs/version-0.14/assets/menu_app_mod.png new file mode 100644 index 00000000..52e0e04a Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_mod.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_post.png b/versioned_docs/version-0.14/assets/menu_app_post.png new file mode 100644 index 00000000..9566c1c0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_post.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_studio.png b/versioned_docs/version-0.14/assets/menu_app_studio.png new file mode 100644 index 00000000..d456ed6c Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_studio.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_subreddit.png b/versioned_docs/version-0.14/assets/menu_app_subreddit.png new file mode 100644 index 00000000..c037bc70 Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_subreddit.png differ diff --git a/versioned_docs/version-0.14/assets/menu_app_success.png b/versioned_docs/version-0.14/assets/menu_app_success.png new file mode 100644 index 00000000..69c0afc2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/menu_app_success.png differ diff --git a/versioned_docs/version-0.14/assets/mod_community_settings.png b/versioned_docs/version-0.14/assets/mod_community_settings.png new file mode 100644 index 00000000..c40b1af8 Binary files /dev/null and b/versioned_docs/version-0.14/assets/mod_community_settings.png differ diff --git a/versioned_docs/version-0.14/assets/my-apps-5.png b/versioned_docs/version-0.14/assets/my-apps-5.png new file mode 100644 index 00000000..d5584322 Binary files /dev/null and b/versioned_docs/version-0.14/assets/my-apps-5.png differ diff --git a/versioned_docs/version-0.14/assets/my_apps.png b/versioned_docs/version-0.14/assets/my_apps.png new file mode 100644 index 00000000..2c5d85e9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/my_apps.png differ diff --git a/versioned_docs/version-0.14/assets/notifications/component-examples.png b/versioned_docs/version-0.14/assets/notifications/component-examples.png new file mode 100644 index 00000000..33b8dd79 Binary files /dev/null and b/versioned_docs/version-0.14/assets/notifications/component-examples.png differ diff --git a/versioned_docs/version-0.14/assets/notifications/layer-urgency.png b/versioned_docs/version-0.14/assets/notifications/layer-urgency.png new file mode 100644 index 00000000..0046a348 Binary files /dev/null and b/versioned_docs/version-0.14/assets/notifications/layer-urgency.png differ diff --git a/versioned_docs/version-0.14/assets/notifications/syllo-pn-examples.png b/versioned_docs/version-0.14/assets/notifications/syllo-pn-examples.png new file mode 100644 index 00000000..9b0a0c8d Binary files /dev/null and b/versioned_docs/version-0.14/assets/notifications/syllo-pn-examples.png differ diff --git a/versioned_docs/version-0.14/assets/notifications/tangible-benefits.png b/versioned_docs/version-0.14/assets/notifications/tangible-benefits.png new file mode 100644 index 00000000..cff319bd Binary files /dev/null and b/versioned_docs/version-0.14/assets/notifications/tangible-benefits.png differ diff --git a/versioned_docs/version-0.14/assets/notifications/visible-progress.png b/versioned_docs/version-0.14/assets/notifications/visible-progress.png new file mode 100644 index 00000000..c721c9e3 Binary files /dev/null and b/versioned_docs/version-0.14/assets/notifications/visible-progress.png differ diff --git a/versioned_docs/version-0.14/assets/oauth-login.png b/versioned_docs/version-0.14/assets/oauth-login.png new file mode 100644 index 00000000..7676537f Binary files /dev/null and b/versioned_docs/version-0.14/assets/oauth-login.png differ diff --git a/versioned_docs/version-0.14/assets/oauth-perms.png b/versioned_docs/version-0.14/assets/oauth-perms.png new file mode 100644 index 00000000..0607a4f4 Binary files /dev/null and b/versioned_docs/version-0.14/assets/oauth-perms.png differ diff --git a/versioned_docs/version-0.14/assets/oauth-revoke.png b/versioned_docs/version-0.14/assets/oauth-revoke.png new file mode 100644 index 00000000..55e68f4a Binary files /dev/null and b/versioned_docs/version-0.14/assets/oauth-revoke.png differ diff --git a/versioned_docs/version-0.14/assets/oauth-success.png b/versioned_docs/version-0.14/assets/oauth-success.png new file mode 100644 index 00000000..3bf41e4a Binary files /dev/null and b/versioned_docs/version-0.14/assets/oauth-success.png differ diff --git a/versioned_docs/version-0.14/assets/payment_simulation.png b/versioned_docs/version-0.14/assets/payment_simulation.png new file mode 100644 index 00000000..f7863a6a Binary files /dev/null and b/versioned_docs/version-0.14/assets/payment_simulation.png differ diff --git a/versioned_docs/version-0.14/assets/payments_button_purchase.png b/versioned_docs/version-0.14/assets/payments_button_purchase.png new file mode 100644 index 00000000..2b111ee0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_button_purchase.png differ diff --git a/versioned_docs/version-0.14/assets/payments_component_button.png b/versioned_docs/version-0.14/assets/payments_component_button.png new file mode 100644 index 00000000..9d491530 Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_component_button.png differ diff --git a/versioned_docs/version-0.14/assets/payments_component_list.png b/versioned_docs/version-0.14/assets/payments_component_list.png new file mode 100644 index 00000000..88b0d7f0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_component_list.png differ diff --git a/versioned_docs/version-0.14/assets/payments_component_tile.png b/versioned_docs/version-0.14/assets/payments_component_tile.png new file mode 100644 index 00000000..7fa79241 Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_component_tile.png differ diff --git a/versioned_docs/version-0.14/assets/payments_example.png b/versioned_docs/version-0.14/assets/payments_example.png new file mode 100644 index 00000000..d7b6eff5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_example.png differ diff --git a/versioned_docs/version-0.14/assets/payments_order_flow.jpg b/versioned_docs/version-0.14/assets/payments_order_flow.jpg new file mode 100644 index 00000000..2ba04a1a Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_order_flow.jpg differ diff --git a/versioned_docs/version-0.14/assets/payments_order_flow_diagram.png b/versioned_docs/version-0.14/assets/payments_order_flow_diagram.png new file mode 100644 index 00000000..e9cb9961 Binary files /dev/null and b/versioned_docs/version-0.14/assets/payments_order_flow_diagram.png differ diff --git a/versioned_docs/version-0.14/assets/play/code_completion.png b/versioned_docs/version-0.14/assets/play/code_completion.png new file mode 100644 index 00000000..c6e8c9cb Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/code_completion.png differ diff --git a/versioned_docs/version-0.14/assets/play/collaborate.png b/versioned_docs/version-0.14/assets/play/collaborate.png new file mode 100644 index 00000000..dc6cd83f Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/collaborate.png differ diff --git a/versioned_docs/version-0.14/assets/play/example_clock.png b/versioned_docs/version-0.14/assets/play/example_clock.png new file mode 100644 index 00000000..2a86e638 Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/example_clock.png differ diff --git a/versioned_docs/version-0.14/assets/play/example_hello_blocks.png b/versioned_docs/version-0.14/assets/play/example_hello_blocks.png new file mode 100644 index 00000000..fe22b6e5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/example_hello_blocks.png differ diff --git a/versioned_docs/version-0.14/assets/play/example_polls.png b/versioned_docs/version-0.14/assets/play/example_polls.png new file mode 100644 index 00000000..1df7550f Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/example_polls.png differ diff --git a/versioned_docs/version-0.14/assets/play/example_progress_bar.png b/versioned_docs/version-0.14/assets/play/example_progress_bar.png new file mode 100644 index 00000000..bca5da40 Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/example_progress_bar.png differ diff --git a/versioned_docs/version-0.14/assets/play/export.png b/versioned_docs/version-0.14/assets/play/export.png new file mode 100644 index 00000000..82e8e111 Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/export.png differ diff --git a/versioned_docs/version-0.14/assets/play/preview.png b/versioned_docs/version-0.14/assets/play/preview.png new file mode 100644 index 00000000..0c85b21b Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/preview.png differ diff --git a/versioned_docs/version-0.14/assets/play/screenshot.png b/versioned_docs/version-0.14/assets/play/screenshot.png new file mode 100644 index 00000000..053e7285 Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/screenshot.png differ diff --git a/versioned_docs/version-0.14/assets/play/type-check.png b/versioned_docs/version-0.14/assets/play/type-check.png new file mode 100644 index 00000000..fe1c9a3b Binary files /dev/null and b/versioned_docs/version-0.14/assets/play/type-check.png differ diff --git a/versioned_docs/version-0.14/assets/poll.png b/versioned_docs/version-0.14/assets/poll.png new file mode 100644 index 00000000..0d05111f Binary files /dev/null and b/versioned_docs/version-0.14/assets/poll.png differ diff --git a/versioned_docs/version-0.14/assets/poll_add_option_form.png b/versioned_docs/version-0.14/assets/poll_add_option_form.png new file mode 100644 index 00000000..70a66a1a Binary files /dev/null and b/versioned_docs/version-0.14/assets/poll_add_option_form.png differ diff --git a/versioned_docs/version-0.14/assets/poll_custom_response_option.png b/versioned_docs/version-0.14/assets/poll_custom_response_option.png new file mode 100644 index 00000000..2ccbbe1f Binary files /dev/null and b/versioned_docs/version-0.14/assets/poll_custom_response_option.png differ diff --git a/versioned_docs/version-0.14/assets/poll_new_option_added.png b/versioned_docs/version-0.14/assets/poll_new_option_added.png new file mode 100644 index 00000000..c5180f91 Binary files /dev/null and b/versioned_docs/version-0.14/assets/poll_new_option_added.png differ diff --git a/versioned_docs/version-0.14/assets/poll_success_toast.png b/versioned_docs/version-0.14/assets/poll_success_toast.png new file mode 100644 index 00000000..d5a53eff Binary files /dev/null and b/versioned_docs/version-0.14/assets/poll_success_toast.png differ diff --git a/versioned_docs/version-0.14/assets/poll_voted.png b/versioned_docs/version-0.14/assets/poll_voted.png new file mode 100644 index 00000000..15c1c8e4 Binary files /dev/null and b/versioned_docs/version-0.14/assets/poll_voted.png differ diff --git a/versioned_docs/version-0.14/assets/qs_complete.png b/versioned_docs/version-0.14/assets/qs_complete.png new file mode 100644 index 00000000..043cbead Binary files /dev/null and b/versioned_docs/version-0.14/assets/qs_complete.png differ diff --git a/versioned_docs/version-0.14/assets/qs_remind-me.png b/versioned_docs/version-0.14/assets/qs_remind-me.png new file mode 100644 index 00000000..f2b782ab Binary files /dev/null and b/versioned_docs/version-0.14/assets/qs_remind-me.png differ diff --git a/versioned_docs/version-0.14/assets/qs_toast.png b/versioned_docs/version-0.14/assets/qs_toast.png new file mode 100644 index 00000000..fbb4bce4 Binary files /dev/null and b/versioned_docs/version-0.14/assets/qs_toast.png differ diff --git a/versioned_docs/version-0.14/assets/quickstart/quickstart-mod-tool-1.png b/versioned_docs/version-0.14/assets/quickstart/quickstart-mod-tool-1.png new file mode 100644 index 00000000..d3a47543 Binary files /dev/null and b/versioned_docs/version-0.14/assets/quickstart/quickstart-mod-tool-1.png differ diff --git a/versioned_docs/version-0.14/assets/quickstart/quickstart-mod-tool-2.png b/versioned_docs/version-0.14/assets/quickstart/quickstart-mod-tool-2.png new file mode 100644 index 00000000..59a5af16 Binary files /dev/null and b/versioned_docs/version-0.14/assets/quickstart/quickstart-mod-tool-2.png differ diff --git a/versioned_docs/version-0.14/assets/quickstart_game_subreddit.png b/versioned_docs/version-0.14/assets/quickstart_game_subreddit.png new file mode 100644 index 00000000..5f5d3230 Binary files /dev/null and b/versioned_docs/version-0.14/assets/quickstart_game_subreddit.png differ diff --git a/versioned_docs/version-0.14/assets/quickstart_gamemaker.gif b/versioned_docs/version-0.14/assets/quickstart_gamemaker.gif new file mode 100644 index 00000000..a78403b2 Binary files /dev/null and b/versioned_docs/version-0.14/assets/quickstart_gamemaker.gif differ diff --git a/versioned_docs/version-0.14/assets/quickstart_unity.gif b/versioned_docs/version-0.14/assets/quickstart_unity.gif new file mode 100644 index 00000000..278853f5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/quickstart_unity.gif differ diff --git a/versioned_docs/version-0.14/assets/quiz_planet_inline_screen.jpg b/versioned_docs/version-0.14/assets/quiz_planet_inline_screen.jpg new file mode 100644 index 00000000..b71992af Binary files /dev/null and b/versioned_docs/version-0.14/assets/quiz_planet_inline_screen.jpg differ diff --git a/versioned_docs/version-0.14/assets/realtime/devvit_emoji_chat.gif b/versioned_docs/version-0.14/assets/realtime/devvit_emoji_chat.gif new file mode 100644 index 00000000..14935e18 Binary files /dev/null and b/versioned_docs/version-0.14/assets/realtime/devvit_emoji_chat.gif differ diff --git a/versioned_docs/version-0.14/assets/realtime/mini_place_high.gif b/versioned_docs/version-0.14/assets/realtime/mini_place_high.gif new file mode 100644 index 00000000..123e7b03 Binary files /dev/null and b/versioned_docs/version-0.14/assets/realtime/mini_place_high.gif differ diff --git a/versioned_docs/version-0.14/assets/realtime/server_push.gif b/versioned_docs/version-0.14/assets/realtime/server_push.gif new file mode 100644 index 00000000..38a26035 Binary files /dev/null and b/versioned_docs/version-0.14/assets/realtime/server_push.gif differ diff --git a/versioned_docs/version-0.14/assets/realtime/snoo_club.gif b/versioned_docs/version-0.14/assets/realtime/snoo_club.gif new file mode 100644 index 00000000..17b48b21 Binary files /dev/null and b/versioned_docs/version-0.14/assets/realtime/snoo_club.gif differ diff --git a/versioned_docs/version-0.14/assets/realtime/snoo_club_backup.gif b/versioned_docs/version-0.14/assets/realtime/snoo_club_backup.gif new file mode 100644 index 00000000..14061d01 Binary files /dev/null and b/versioned_docs/version-0.14/assets/realtime/snoo_club_backup.gif differ diff --git a/versioned_docs/version-0.14/assets/realtime/synced_progress_bar.gif b/versioned_docs/version-0.14/assets/realtime/synced_progress_bar.gif new file mode 100644 index 00000000..911b1756 Binary files /dev/null and b/versioned_docs/version-0.14/assets/realtime/synced_progress_bar.gif differ diff --git a/versioned_docs/version-0.14/assets/remind_me_bot_failed_toast_past.png b/versioned_docs/version-0.14/assets/remind_me_bot_failed_toast_past.png new file mode 100644 index 00000000..33045737 Binary files /dev/null and b/versioned_docs/version-0.14/assets/remind_me_bot_failed_toast_past.png differ diff --git a/versioned_docs/version-0.14/assets/remind_me_bot_failed_toast_unknown.png b/versioned_docs/version-0.14/assets/remind_me_bot_failed_toast_unknown.png new file mode 100644 index 00000000..311ad14a Binary files /dev/null and b/versioned_docs/version-0.14/assets/remind_me_bot_failed_toast_unknown.png differ diff --git a/versioned_docs/version-0.14/assets/remind_me_bot_input_form.png b/versioned_docs/version-0.14/assets/remind_me_bot_input_form.png new file mode 100644 index 00000000..3c217bfc Binary files /dev/null and b/versioned_docs/version-0.14/assets/remind_me_bot_input_form.png differ diff --git a/versioned_docs/version-0.14/assets/remind_me_bot_menu_entry.png b/versioned_docs/version-0.14/assets/remind_me_bot_menu_entry.png new file mode 100644 index 00000000..11d0a7eb Binary files /dev/null and b/versioned_docs/version-0.14/assets/remind_me_bot_menu_entry.png differ diff --git a/versioned_docs/version-0.14/assets/remind_me_bot_success_toast.png b/versioned_docs/version-0.14/assets/remind_me_bot_success_toast.png new file mode 100644 index 00000000..15c9bed4 Binary files /dev/null and b/versioned_docs/version-0.14/assets/remind_me_bot_success_toast.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/1line1.gif b/versioned_docs/version-0.14/assets/showcase/1line1.gif new file mode 100644 index 00000000..cf67a313 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/1line1.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/RedditForDevelopers_Logo_ShortBubble.png b/versioned_docs/version-0.14/assets/showcase/RedditForDevelopers_Logo_ShortBubble.png new file mode 100644 index 00000000..90cd1b07 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/RedditForDevelopers_Logo_ShortBubble.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/alignmentcharts.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/alignmentcharts.webp new file mode 100644 index 00000000..b7402366 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/alignmentcharts.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/bot-bouncer.png b/versioned_docs/version-0.14/assets/showcase/app-gallery/bot-bouncer.png new file mode 100644 index 00000000..cd91c1a7 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/bot-bouncer.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/bubbleshooterpro.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/bubbleshooterpro.webp new file mode 100644 index 00000000..ae48c964 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/bubbleshooterpro.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/bunnytrials.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/bunnytrials.webp new file mode 100644 index 00000000..120482e6 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/bunnytrials.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/community-home.png b/versioned_docs/version-0.14/assets/showcase/app-gallery/community-home.png new file mode 100644 index 00000000..bf9e6456 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/community-home.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/leftforloot.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/leftforloot.webp new file mode 100644 index 00000000..4c2f24c7 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/leftforloot.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/letterset.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/letterset.webp new file mode 100644 index 00000000..6e954579 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/letterset.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/pathofbaa.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/pathofbaa.webp new file mode 100644 index 00000000..43f8e7f0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/pathofbaa.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/pieceofcake.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/pieceofcake.webp new file mode 100644 index 00000000..2ae3113e Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/pieceofcake.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/riddonkulous.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/riddonkulous.webp new file mode 100644 index 00000000..0fe7098d Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/riddonkulous.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/slingblade.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/slingblade.webp new file mode 100644 index 00000000..3836ecf0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/slingblade.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/app-gallery/swordandsupper.webp b/versioned_docs/version-0.14/assets/showcase/app-gallery/swordandsupper.webp new file mode 100644 index 00000000..3e71899e Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/app-gallery/swordandsupper.webp differ diff --git a/versioned_docs/version-0.14/assets/showcase/buildit_building.gif b/versioned_docs/version-0.14/assets/showcase/buildit_building.gif new file mode 100644 index 00000000..4da505d0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/buildit_building.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/buildit_gameplay.gif b/versioned_docs/version-0.14/assets/showcase/buildit_gameplay.gif new file mode 100644 index 00000000..40560f2e Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/buildit_gameplay.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/buildit_purchasing.gif b/versioned_docs/version-0.14/assets/showcase/buildit_purchasing.gif new file mode 100644 index 00000000..3f652d3b Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/buildit_purchasing.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/dailydm.gif b/versioned_docs/version-0.14/assets/showcase/dailydm.gif new file mode 100644 index 00000000..98baf0ce Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/dailydm.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/dark_dungeon.gif b/versioned_docs/version-0.14/assets/showcase/dark_dungeon.gif new file mode 100644 index 00000000..82a1b3a5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/dark_dungeon.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/dark_dungeon_shop.gif b/versioned_docs/version-0.14/assets/showcase/dark_dungeon_shop.gif new file mode 100644 index 00000000..b011dbf5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/dark_dungeon_shop.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/flappy_goose.gif b/versioned_docs/version-0.14/assets/showcase/flappy_goose.gif new file mode 100644 index 00000000..59d557e7 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/flappy_goose.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/hightier.gif b/versioned_docs/version-0.14/assets/showcase/hightier.gif new file mode 100644 index 00000000..f1eda23b Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/hightier.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/honk1.gif b/versioned_docs/version-0.14/assets/showcase/honk1.gif new file mode 100644 index 00000000..c9175e02 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/honk1.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/pixelary_mobile.png b/versioned_docs/version-0.14/assets/showcase/pixelary_mobile.png new file mode 100644 index 00000000..08df9927 --- /dev/null +++ b/versioned_docs/version-0.14/assets/showcase/pixelary_mobile.png @@ -0,0 +1 @@ + diff --git a/versioned_docs/version-0.14/assets/showcase/pixisle1.gif b/versioned_docs/version-0.14/assets/showcase/pixisle1.gif new file mode 100644 index 00000000..fcb4f7db Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/pixisle1.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-card-game-layout.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-card-game-layout.png new file mode 100644 index 00000000..4fb8db6f Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-card-game-layout.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-clock.gif b/versioned_docs/version-0.14/assets/showcase/playgrounds-clock.gif new file mode 100644 index 00000000..8fa4dd6b Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-clock.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-clock.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-clock.png new file mode 100644 index 00000000..b01e63d9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-clock.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-drawable-canvas.gif b/versioned_docs/version-0.14/assets/showcase/playgrounds-drawable-canvas.gif new file mode 100644 index 00000000..aec86c10 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-drawable-canvas.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-drawable-canvas.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-drawable-canvas.png new file mode 100644 index 00000000..e8afb27a Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-drawable-canvas.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-football.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-football.png new file mode 100644 index 00000000..4aa7988c Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-football.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-in-app-navigation.gif b/versioned_docs/version-0.14/assets/showcase/playgrounds-in-app-navigation.gif new file mode 100644 index 00000000..d3efb4c0 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-in-app-navigation.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-in-app-navigation.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-in-app-navigation.png new file mode 100644 index 00000000..10c79d7f Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-in-app-navigation.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-pixel-font.gif b/versioned_docs/version-0.14/assets/showcase/playgrounds-pixel-font.gif new file mode 100644 index 00000000..4c50c3e5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-pixel-font.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-pixel-font.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-pixel-font.png new file mode 100644 index 00000000..b61f322f Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-pixel-font.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-polls.gif b/versioned_docs/version-0.14/assets/showcase/playgrounds-polls.gif new file mode 100644 index 00000000..dd331abd Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-polls.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-polls.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-polls.png new file mode 100644 index 00000000..af8ba7fe Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-polls.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-progress-bar.gif b/versioned_docs/version-0.14/assets/showcase/playgrounds-progress-bar.gif new file mode 100644 index 00000000..b29c9a40 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-progress-bar.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/playgrounds-progress-bar.png b/versioned_docs/version-0.14/assets/showcase/playgrounds-progress-bar.png new file mode 100644 index 00000000..f31b9693 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/playgrounds-progress-bar.png differ diff --git a/versioned_docs/version-0.14/assets/showcase/riddonkulous_guess.gif b/versioned_docs/version-0.14/assets/showcase/riddonkulous_guess.gif new file mode 100644 index 00000000..26037c61 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/riddonkulous_guess.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/riddonkulous_reddit_gold.gif b/versioned_docs/version-0.14/assets/showcase/riddonkulous_reddit_gold.gif new file mode 100644 index 00000000..37fd7198 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/riddonkulous_reddit_gold.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/sword_and_supper.gif b/versioned_docs/version-0.14/assets/showcase/sword_and_supper.gif new file mode 100644 index 00000000..00e513d4 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/sword_and_supper.gif differ diff --git a/versioned_docs/version-0.14/assets/showcase/swordandsupper1.gif b/versioned_docs/version-0.14/assets/showcase/swordandsupper1.gif new file mode 100644 index 00000000..0483b335 Binary files /dev/null and b/versioned_docs/version-0.14/assets/showcase/swordandsupper1.gif differ diff --git a/versioned_docs/version-0.14/assets/splash_screen.png b/versioned_docs/version-0.14/assets/splash_screen.png new file mode 100644 index 00000000..c1fcebc8 Binary files /dev/null and b/versioned_docs/version-0.14/assets/splash_screen.png differ diff --git a/versioned_docs/version-0.14/assets/studio_breakpoints.png b/versioned_docs/version-0.14/assets/studio_breakpoints.png new file mode 100644 index 00000000..2b15aaeb Binary files /dev/null and b/versioned_docs/version-0.14/assets/studio_breakpoints.png differ diff --git a/versioned_docs/version-0.14/assets/studio_docs_main.png b/versioned_docs/version-0.14/assets/studio_docs_main.png new file mode 100644 index 00000000..dfa806f8 Binary files /dev/null and b/versioned_docs/version-0.14/assets/studio_docs_main.png differ diff --git a/versioned_docs/version-0.14/assets/studio_sub_select.png b/versioned_docs/version-0.14/assets/studio_sub_select.png new file mode 100644 index 00000000..83e3d1ff Binary files /dev/null and b/versioned_docs/version-0.14/assets/studio_sub_select.png differ diff --git a/versioned_docs/version-0.14/assets/support_birbclub.gif b/versioned_docs/version-0.14/assets/support_birbclub.gif new file mode 100644 index 00000000..74006644 Binary files /dev/null and b/versioned_docs/version-0.14/assets/support_birbclub.gif differ diff --git a/versioned_docs/version-0.14/assets/support_birbclub_flair.png b/versioned_docs/version-0.14/assets/support_birbclub_flair.png new file mode 100644 index 00000000..adcdf590 Binary files /dev/null and b/versioned_docs/version-0.14/assets/support_birbclub_flair.png differ diff --git a/versioned_docs/version-0.14/assets/support_this_app.png b/versioned_docs/version-0.14/assets/support_this_app.png new file mode 100644 index 00000000..2f546a6a Binary files /dev/null and b/versioned_docs/version-0.14/assets/support_this_app.png differ diff --git a/versioned_docs/version-0.14/assets/test-init.png b/versioned_docs/version-0.14/assets/test-init.png new file mode 100644 index 00000000..2707d29b Binary files /dev/null and b/versioned_docs/version-0.14/assets/test-init.png differ diff --git a/versioned_docs/version-0.14/assets/text_formats/constricting.png b/versioned_docs/version-0.14/assets/text_formats/constricting.png new file mode 100644 index 00000000..0afae4c1 Binary files /dev/null and b/versioned_docs/version-0.14/assets/text_formats/constricting.png differ diff --git a/versioned_docs/version-0.14/assets/text_formats/constricting_limited.png b/versioned_docs/version-0.14/assets/text_formats/constricting_limited.png new file mode 100644 index 00000000..be77299d Binary files /dev/null and b/versioned_docs/version-0.14/assets/text_formats/constricting_limited.png differ diff --git a/versioned_docs/version-0.14/assets/text_formats/constricting_overflow.png b/versioned_docs/version-0.14/assets/text_formats/constricting_overflow.png new file mode 100644 index 00000000..3c1e3909 Binary files /dev/null and b/versioned_docs/version-0.14/assets/text_formats/constricting_overflow.png differ diff --git a/versioned_docs/version-0.14/assets/text_formats/default_text.png b/versioned_docs/version-0.14/assets/text_formats/default_text.png new file mode 100644 index 00000000..bbd4195c Binary files /dev/null and b/versioned_docs/version-0.14/assets/text_formats/default_text.png differ diff --git a/versioned_docs/version-0.14/assets/text_formats/overflow.png b/versioned_docs/version-0.14/assets/text_formats/overflow.png new file mode 100644 index 00000000..a7d150d9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/text_formats/overflow.png differ diff --git a/versioned_docs/version-0.14/assets/text_formats/text_wrapping.png b/versioned_docs/version-0.14/assets/text_formats/text_wrapping.png new file mode 100644 index 00000000..cf3586b9 Binary files /dev/null and b/versioned_docs/version-0.14/assets/text_formats/text_wrapping.png differ diff --git a/versioned_docs/version-0.14/assets/three_strikes_app_author_strike_count.png b/versioned_docs/version-0.14/assets/three_strikes_app_author_strike_count.png new file mode 100644 index 00000000..e8f9d223 Binary files /dev/null and b/versioned_docs/version-0.14/assets/three_strikes_app_author_strike_count.png differ diff --git a/versioned_docs/version-0.14/assets/three_strikes_app_comment_menu.png b/versioned_docs/version-0.14/assets/three_strikes_app_comment_menu.png new file mode 100644 index 00000000..cc76eb2e Binary files /dev/null and b/versioned_docs/version-0.14/assets/three_strikes_app_comment_menu.png differ diff --git a/versioned_docs/version-0.14/assets/three_strikes_app_metadata_missing.png b/versioned_docs/version-0.14/assets/three_strikes_app_metadata_missing.png new file mode 100644 index 00000000..242b2731 Binary files /dev/null and b/versioned_docs/version-0.14/assets/three_strikes_app_metadata_missing.png differ diff --git a/versioned_docs/version-0.14/assets/three_strikes_app_no_strikes.png b/versioned_docs/version-0.14/assets/three_strikes_app_no_strikes.png new file mode 100644 index 00000000..d95cd1b5 Binary files /dev/null and b/versioned_docs/version-0.14/assets/three_strikes_app_no_strikes.png differ diff --git a/versioned_docs/version-0.14/assets/three_strikes_app_post_menu.png b/versioned_docs/version-0.14/assets/three_strikes_app_post_menu.png new file mode 100644 index 00000000..e7fc40de Binary files /dev/null and b/versioned_docs/version-0.14/assets/three_strikes_app_post_menu.png differ diff --git a/versioned_docs/version-0.14/assets/ui_simulator_header.png b/versioned_docs/version-0.14/assets/ui_simulator_header.png new file mode 100644 index 00000000..ed6e4d01 Binary files /dev/null and b/versioned_docs/version-0.14/assets/ui_simulator_header.png differ diff --git a/versioned_docs/version-0.14/assets/ui_simulator_theme.png b/versioned_docs/version-0.14/assets/ui_simulator_theme.png new file mode 100644 index 00000000..9b0e9682 Binary files /dev/null and b/versioned_docs/version-0.14/assets/ui_simulator_theme.png differ diff --git a/versioned_docs/version-0.14/assets/ui_simulator_viewport.png b/versioned_docs/version-0.14/assets/ui_simulator_viewport.png new file mode 100644 index 00000000..8ab0e55b Binary files /dev/null and b/versioned_docs/version-0.14/assets/ui_simulator_viewport.png differ diff --git a/versioned_docs/version-0.14/assets/webviews-devvit-architecture.png b/versioned_docs/version-0.14/assets/webviews-devvit-architecture.png new file mode 100644 index 00000000..bc0c0cde Binary files /dev/null and b/versioned_docs/version-0.14/assets/webviews-devvit-architecture.png differ diff --git a/versioned_docs/version-0.14/assets/webviews_example.png b/versioned_docs/version-0.14/assets/webviews_example.png new file mode 100644 index 00000000..6d01559b Binary files /dev/null and b/versioned_docs/version-0.14/assets/webviews_example.png differ diff --git a/versioned_docs/version-0.14/assets/webviews_snakepit_example.png b/versioned_docs/version-0.14/assets/webviews_snakepit_example.png new file mode 100644 index 00000000..5d950293 Binary files /dev/null and b/versioned_docs/version-0.14/assets/webviews_snakepit_example.png differ diff --git a/versioned_docs/version-0.14/assets/webviews_snakepit_mobile_example.png b/versioned_docs/version-0.14/assets/webviews_snakepit_mobile_example.png new file mode 100644 index 00000000..8fc54c46 Binary files /dev/null and b/versioned_docs/version-0.14/assets/webviews_snakepit_mobile_example.png differ diff --git a/versioned_docs/version-0.14/capabilities/analytics/devvit-journeys.md b/versioned_docs/version-0.14/capabilities/analytics/devvit-journeys.md new file mode 100644 index 00000000..b383a518 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/analytics/devvit-journeys.md @@ -0,0 +1,239 @@ +# Devvit Journeys + +Devvit Journeys adds a telemetry stream to your app that tracks the entire lifecycle of a user session. With journeys, you can: + +- Boost your game’s visibility and reach through richer gameplay insights. +- Make design and feature decisions based on real user data. +- Identify friction points and optimize for better user retention. + +A journey has a defined start and end point. Progress is tracked throughout and ends with a completion status. You can also attach optional game-specific data (like win/loss results or scores) at the end. + +## Journey map + +A journey map is a structured, instrumented flow that tracks a player’s progression through a specific experience in your game. Think of your journey map as a series of checkpoints (events) in your game, with: + +- A clear **start condition** (e.g., game begins) +- Defined **end conditions** (e.g., game ends, player quits, or player fails) +- Optional **metadata** you can attach along the way (score, outcome, time spent, etc.) + +All journey maps must be reviewed and approved prior to activation to ensure they align with Reddit’s platform guidelines. + +## Core events and API structure + +The SDK provides a telemetry client via `@devvit/analytics/client/reddit`. + +### Events + +All events sent from the client are forwarded to the server, where they are enriched with standard metadata (such as app, installation, user, and post context) before being emitted as analytics events. You should set each event to fire with the corresponding trigger. + +| Event Type | Trigger | Required Fields | Optional Fields | +| ------------------------- | ----------------------------------------------------------------- | -------------------- | --------------------------------- | +| **`App.Ready`** | Fire when the game has finished loading and is interactive. | None | None | +| **`Journey.Start`** | Fire when the user explicitly begins a session (not on app load). | None | None | +| **`Journey.Progress`** | Fire when the user reaches a meaningful milestone. | `progress` (0.0–1.0) | `action`, `actionDetails` | +| **`Journey.Interaction`** | Fire for granular, stateless user interactions. | `action` | `actionDetails` | +| **`Journey.End`** | Fire when the session concludes. | None | `complete`, `game { win, score }` | + +### Journey ID handling + +The client automatically manages the `journeyId`. You do **not** need to pass it to any method. + +- A journey ID is generated server-side when `startJourney()` is called +- The client stores it in `sessionStorage` for the duration of the browser session +- Calls to `progress()`, `interaction(),` and `end()` automatically include the active journey ID + +### Auto-start behavior + +If `progress()` or `interaction()` is called before a journey has started, the client will automatically start a new journey. + +### Ending a journey + +Calling `endJourney()`: + +- Sends a `Journey.End` event +- Clears the stored journey ID from `sessionStorage` + +This allows a new journey to begin within the same session. + +## Game-specific use cases + +This example shows how a simple word game session can be represented as a Journey using four key events: `app.ready`, `journey.start`, `journey.interaction`, and `journey.end`. Together, these events capture the full lifecycle of a single play session, from when the game finishes loading to when the player completes the puzzle. + +The screenshots illustrate a typical flow: + +1. The game loads and signals it’s ready (`app.ready`). + +![Journeys-1](../../assets/analytics/journeys-1.png) + +2. The player begins playing a new word challenge (`journey.start`). + +![Journeys-2](../../assets/analytics/journeys-2.png) + +3. The player pauses mid-game (`journey.interaction`). + +![Journeys-3](../../assets/analytics/journeys-3.png) + +4. The player completes the puzzle (`journey.end`). + +![Journeys-4](../../assets/analytics/journeys-4.png) + +By instrumenting these moments, you can track session boundaries, understand player behavior during gameplay, and measure completion outcomes for the word game experience. See more example scenarios below. + +### Scenario 1: standard level-based game + +| Step | Player Action | Event Fired | Notes | +| :---: | ------------------------------------- | ----------------------- | ----------------------------- | +| **1** | Game loads | **App.Ready** | Game is fully interactive | +| **2** | Player clicks “Start Game” | **Journey.Start** | Begins a new session | +| **3** | Player completes Level 1 (of 5 levels) | **Journey.Progress** | `progress: 0.2` | +| **4** | Player opens inventory | **Journey.Interaction** | `action: "menu_opened"` | +| **5** | Player completes Level 2 | **Journey.Progress** | `progress: 0.4` | +| **6** | Player reaches final level | **Journey.Progress** | `progress: 0.9` | +| **7** | Player defeats final boss | **Journey.End** | `complete: true`, `win: true` | + +### Scenario 2: player fails mid-game + +| Step | Player Action | Event Fired | Notes | +| :---: | ---------------------------- | -------------------- | ------------------------------- | +| **1** | Game loads | **App.Ready** | Game is fully interactive | +| **2** | Player clicks “Start Game” | **Journey.Start** | Begins a new session | +| **3** | Player completes early level | **Journey.Progress** | `progress: 0.3` | +| **4** | Player dies | **Journey.End** | `complete: false`, `win: false` | + +### Scenario 3: early exit / abandonment + +| Step | Player Action | Event Fired | Notes | +| :---: | -------------------------- | ----------------------- | ------------------------- | +| **1** | Game loads | **App.Ready** | Game is fully interactive | +| **2** | Player clicks “Start Game” | **Journey.Start** | Begins a new session | +| **3** | Player pauses | **Journey.Interaction** | `action: "pause_clicked"` | +| **4** | Player quits game | **Journey.End** | `complete: false` | + +## Guidelines + +To ensure the integrity and quality of the telemetry stream, developers must follow these guidelines. + +The platform may enforce validation checks to detect anomalous or exploitative event patterns. Failure to comply may result in delayed app approval or, in severe cases, removal from the platform. + +### Event triggering + +Events must reflect **intentional, committed user actions**. + +- **Trigger on final commitment**. + + - Fire events only after a user has completed an action. + - For interactions, this typically means using `mouseUp` or `touchEnd` (not initial input). + +- **Avoid passive triggers** + - Do not track views as journeys. + - Do not use `Journey.Start` to record page or app views. + - `Journey.Start` must represent an explicit user action (like pressing “Play”) + - **Do not fire on pre-commitment input** + - Avoid early input events such as `mouseDown` or `touchStart` + - These interactions may be accidental or canceled before completion + +### App allowlist + +Telemetry is restricted by a server-side allowlist. Only approved apps can emit journey events. Requests from non-allowlisted apps will get a message that the event was dropped. + +### Platform constraints + +- **Devvit Web only**: Telemetry is only supported in Devvit Web apps (WebView). +- **Privacy**: Do **not** include PII (Personally Identifiable Information) in any user-defined fields (including `action` and `actionDetails`). You are responsible for ensuring all emitted data complies with privacy standards. + +## Getting started + +Here's how to implement journey tracking in your app. + +### Permissions + +Set Journeys permissions to `true` in `devvit.json`. + +``` + "permissions": { + "journeys": true + }, +``` + +### Server events + +You can send events solely on the backend and use the front‑end only to establish and pass along the journeyId. To do this, thread the active `journey ID` from your front‑end to your backend routes. + +``` +import { telemetry } from '@devvit/analytics/client/reddit'; + +export async function submitScore(score: number): Promise { + const journeyId = telemetry.getActiveJourneyId(); + + const response = await fetch('/api/score', { + method: 'POST', + headers: { + 'content-type': 'application/json', + ...(journeyId ? { 'x-devvit-journey-id': journeyId } : {}), + }, + body: JSON.stringify({ score }), + }); + + const data = (await response.json()) as { journeyId?: string }; + + if (data.journeyId) { + telemetry.setJourneyId(data.journeyId); + } +} +``` + +On the server, read the incoming `journeyId` and use it for correlation in your own route. + +``` +import express from 'express'; +import { telemetry } from '@devvit/analytics/server/reddit'; + +const app = express(); + +app.use(express.json()); + +app.post('/api/score', async (req, res) => { + const journeyIdHeader = req.header('x-devvit-journey-id'); + const journeyId = typeof journeyIdHeader === 'string' ? journeyIdHeader : ''; + + console.log('score event', { + journeyId, + score: req.body.score, + }); + + await telemetry.endJourney({ + journeyId, + complete: true, + game: { win: true, score: req.body.score }, + }); + + res.json({ ok: true }); +}); + +``` + +### Client events + +If you don’t want to manually send server-events, you can use the generic client side events. In this case, the `JourneyId` is handled. In this case, you won’t need to pass a `JourneyId` when calling progress and so forth. You also won’t need `telemetry.getActiveJourneyId()` unless you’re curious about that data. + +Note: This also requires using the route adapters provided in `@devvit/analytics/server/reddit` + +``` +// client +import { telemetry } from '@devvit/analytics/client/reddit'; + +const activeJourneyId = telemetry.getActiveJourneyId(); + +await telemetry.progress({ + progress: 0.5, + action: 'level_progress', +}); + +``` + +``` +// server +import { createTelemetryRouter } from '@devvit/analytics/server/reddit'; +app.use(createTelemetryRouter()); + +``` diff --git a/versioned_docs/version-0.14/capabilities/analytics/journeys-dashboard.md b/versioned_docs/version-0.14/capabilities/analytics/journeys-dashboard.md new file mode 100644 index 00000000..1a3137f2 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/analytics/journeys-dashboard.md @@ -0,0 +1,38 @@ +# Journeys Dashboard + +Once you’ve implemented [Devvit Journeys](./devvit-journeys.md), you’ll be able to see how users are engaging with your app. You’ll find Journeys analytics on the App Details page, under the Analytics tab. + +Journey metrics are displayed in a dedicated section below the existing engagement metrics. + +![Journeys-1](../../assets/analytics/journeys-dashboard.png) + +## Understanding your data + +Journey analytics data is aggregated into a single record per app per UTC day. This data helps you understand the user’s experience of your app. At a high level: + +* **Start Rate**: Are users engaging with my app? +* **Completion Rate**: Are users successfully finishing the game? +* **Sessions per User**: Are users coming back? +* **Median Session Duration**: How much time are users spending in my app? +* **Journey Progress & Interaction Events**: Where are users engaging or getting stuck? + +## Journeys insights + +Raw event counts show overall Journey activity and usage volume. + +Rate- and duration-based metrics help developers evaluate Journey adoption, engagement, and completion, making it easier to identify trends and diagnose issues. + +| Metric | What it tells you | +| ----- | ----- | +| **utc\_day** | Lets you analyze app performance over time and identify trends, regressions, or the impact of releases. | +| **app\_ready\_count** | Shows how often the app was successfully loaded and available to users. Serves as the baseline for measuring adoption. | +| **journey\_start\_count** | Indicates how many times users began your game. Helps measure interest and discoverability of your app’s entry points. | +| **journey\_progress\_count** | Reveals how actively users move through your app. Sudden drops may indicate friction or confusing steps. | +| **journey\_interaction\_count** | Measures user engagement within your app. Helps identify whether users are actively interacting or passively abandoning flows. | +| **journey\_end\_count** | Shows how many users reached an end state. Useful for understanding overall throughput and completion volume of your game. | +| **start\_rate** | Measures the percentage of app loads that result in a user starting the game. Helps evaluate whether users are discovering and choosing to engage with your app. | +| **completion\_rate** | Measures the percentage of times a user has started your game and successfully reached completion. Helps identify drop-off problems and assess the effectiveness of your app’s design. | +| **sessions\_per\_day** | Shows how frequently users engage with your app on average. Helps distinguish between occasional use and repeat engagement. | +| **median\_session\_duration\_seconds** | Indicates how long users typically spend in your app. Helps assess game complexity, engagement depth, and the impact of changes to the game flow. | + +You can download a CSV of your daily Journey metrics over a 30-day lookback period. diff --git a/versioned_docs/version-0.14/capabilities/analytics/journeys-receipts.md b/versioned_docs/version-0.14/capabilities/analytics/journeys-receipts.md new file mode 100644 index 00000000..3fd16dbe --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/analytics/journeys-receipts.md @@ -0,0 +1,111 @@ +# Journeys Receipts + +The Devvit Journeys API responses include a **receipt**: a small feedback object that tells you what happened to a telemetry event. + +This is not end-user messaging. It's implementation feedback so you can tell whether a Journey event was recorded, skipped, rejected, rate limited, or could not be confirmed. + +## Viewing receipts + +Every Journey telemetry call now returns a receipt. + +`startJourney()` returns: + +```ts +{ + journeyId: string, + receipt: { + status: string, + message: string + } +} +``` + +Other Journey calls return: + +```ts +{ + receipt: { + status: string, + message: string + } +} +``` + +Covered calls: + +- Start Journey +- Journey Progress +- Journey Interaction +- End Journey +- App Ready + +## Receipt fields + +`status` is the machine-readable outcome. Use this for branching, tests, or tooling. + +`message` is the human-readable diagnostic. You can log it or display it during implementation/debugging. + +## Upgrade note for existing devs + +`startJourney()` changed from returning only the Journey ID information to returning the Journey ID plus a receipt. If you’re upgrading existing code, you may need to update any custom response types, mocks, or destructuring assumptions so they account for the new `receipt` field. + +For example, code that only typed the response as `{ journeyId: string }` should now expect: + +```ts +{ + journeyId: string, + receipt: { + status: string, + message: string + } +} +``` + +## Possible receipt outcomes + +| Status | Meaning | Current Message | +| :---- | :---- | :---- | +| `JOURNEY_RECEIPT_VALID` | Event was accepted and recorded. | `Success: Event was recorded.` | +| `JOURNEY_RECEIPT_DENIED_NOT_ALLOWLISTED` | Event was valid, but the app is not enabled for Journey telemetry yet. | `Denied: Your app is not allowlisted for Journey telemetry yet.` | +| `JOURNEY_RECEIPT_DENIED_RATE_LIMITED` | Event was valid, but skipped because the app sent too many events. | `Denied: Event was rate limited.` | +| `JOURNEY_RECEIPT_DENIED_DUPLICATE` | Event was valid, but skipped because it was already recorded. | `Denied: Event was already recorded.` | +| `JOURNEY_RECEIPT_INVALID` | Event payload was invalid and was not recorded. | `Invalid: Event payload was not recorded.` | +| `JOURNEY_RECEIPT_UNSPECIFIED` | Recording status could not be confirmed. | `Unknown: Telemetry recording status could not be confirmed.` | + +Example: + +```javascript +{ + "journeyId": "f7ece033-0247-407c-aede-8b65c7fd645c", + "receipt": { + "status": "JOURNEY_RECEIPT_DENIED_NOT_ALLOWLISTED", + "message": "Denied: Your app is not allowlisted for Journey telemetry yet." + } +} +``` + +That receipt is an indicator to reach out to the Devvit team for allowlisting. After allowlist, the dev sees: + +```javascript +{ + "journeyId": "f7ece033-0247-407c-aede-8b65c7fd645c", + "receipt": { + "status": "JOURNEY_RECEIPT_VALID", + "message": "Success: Event was recorded." + } +} +``` + +## Important notes + +A successful API response does not always mean the event was recorded. The receipt is the source of truth for the telemetry outcome. + +Denied receipts are still useful: they tell developers the SDK call worked, but the telemetry event was intentionally not ingested. + +If the client reuses an already-active Journey, it returns: + +``` +Already started: Reusing the active Journey; no new start event was recorded. +``` + +This means no new start event was sent because the client already has an active Journey session. diff --git a/versioned_docs/version-0.14/capabilities/analytics/pn-analytics.md b/versioned_docs/version-0.14/capabilities/analytics/pn-analytics.md new file mode 100644 index 00000000..9377600c --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/analytics/pn-analytics.md @@ -0,0 +1,86 @@ +# Push Notifications + +Push notification analytics help you understand how frequently users receive notifications from your app and how often those notifications lead to clicks. + +You can use these analytics to: + +* Track notification delivery and engagement over time. +* Compare performance across iOS, Android, and Web. +* Identify notification messages that generate higher click-through rates. +* Evaluate changes to notification content and strategy. + +Note: Push notifications are currently a **gated beta** feature. which means that you’ll need to apply to unlock the ability to use push notifications and track analytics for your app. [Learn how to apply](./docs/capabilities/notifications/notifications-overview#how-to-apply). + +## **Push notification performance** + +The push notification performance table shows daily delivery and engagement metrics for notifications sent by your app. + +![Performance table](../../assets/analytics/PN-performance.png) + +Each row represents one day and includes the following metrics: + +* **Date:** The date the notifications were received. +* **Receives:** The number of notifications received. +* **Clicks:** The number of notifications clicked. +* **Click-through rate:** The percentage of received notifications that were clicked. + +**Note**: Metrics are not shown for push notifications sent to NSFW subreddits or subreddits with fewer than 200 subscribers. + +The click-through rate is calculated as: + +``` +Click-through rate = Clicks ÷ Receives × 100 +``` + +For example, if users received 24,000 notifications and clicked 636 of them, the click-through rate is 2.65%. + +### View notification-body details + +Select **Details** for a date to view click-through rates grouped by message body. This helps you determine which messages contributed to that day’s performance. + +![Message body details](../../assets/analytics/PN-message-body.png) + +### Download performance data + +Select **Download CSV** to export the table data for further analysis or reporting. + +**Tip**: When evaluating performance, review click-through rate together with receives and clicks. A high click-through rate based on a small number of receives may not be representative of future performance. + +## **Daily CTR by notification body** + +The **Daily CTR by notification body** chart compares the click-through rate of the notification messages sent by your app. + +Each colored line represents a distinct notification body: + +* The horizontal axis shows the date. +* The vertical axis shows click-through rate as a percentage. +* Each point shows the CTR for a notification body on a particular date. +* The legend identifies the notification body represented by each line. + +![CTA](../../assets/analytics/PN-daily-CTA.png) + +### Analyze notification body performance + +Use this chart to: + +* Compare notification messages +* Identify messages with consistently high or low engagement +* Evaluate changes to wording or calls to action +* Track how a message performs over multiple days +* Generate ideas for future notification experiments + +Each distinct notification body appears as a separate series. Even small changes to the body text may create a new series. + +### Interpret notification-body performance + +A higher CTR means that a greater percentage of received notifications resulted in a click. However, a higher CTR does not necessarily indicate a better overall user experience. + +When comparing notification bodies, consider: + +* The number of notifications received +* The audience that received each notification +* When the notification was sent +* The notification’s purpose and destination +* Whether the messages were sent under comparable conditions + +For meaningful comparisons, keep the audience, timing, destination, and purpose as consistent as possible while testing changes to the notification body, and avoid optimizing only for clicks. diff --git a/versioned_docs/version-0.14/capabilities/client/forms.mdx b/versioned_docs/version-0.14/capabilities/client/forms.mdx new file mode 100644 index 00000000..60bbbfdd --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/client/forms.mdx @@ -0,0 +1,1191 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Forms + +A form lets your app ask users to input and submit data. Forms can be defined with a simple [form object](#form-object) that takes a [list of fields](#supported-fields-types), and return user responses directly as promises. + +![A form dialog](../../assets/capabilities/forms/forms-dialog.png) + +## Using forms + +**Promise-based forms:** + ```ts title="client/index.ts" + import { showForm } from '@devvit/web/client'; + + // Show form and get user response directly + const result = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'name', + label: 'Name', + }, + ], + }, + data: { name: 'Default value' } // Optional initial data + }); + + // Handle form submission result immediately + if (result) { + const { name } = result; + + // Process the data directly + console.log(`User entered: ${name}`); + + // Chain additional actions + await fetch('/api/save-name', { + method: 'POST', + body: JSON.stringify({ name }) + }); + + // Or show another form in sequence + const step2 = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'food', + label: 'Favorite food?', + }, + ], + } + }); + + if (step2) { + console.log(`Multi-step complete: ${name}, ${step2.food}`); + } + } else { + console.log('User cancelled the form'); + } + ``` + +### Parameters + +**`showForm(options)` → Returns Promise** +- `form` (Form): The form specification object +- `data` (FormValues, optional): Initial form field values +- **Returns**: `Promise` - Resolves with form data or null if cancelled + +## Menu response forms + +For forms that open from a menu item, you can use menu responses. This is useful since you do not have access to the `@devvit/web/client` library from a menu item endpoint. + +**Configure forms in devvit.json:** + ```json title="devvit.json" + { + "forms": { + "nameForm": "/internal/form/name-submit", + "reviewForm": "/internal/form/review-submit" + } + } + ``` + + **Server endpoint that shows form via menu response:** + + + + + ```ts title="server/index.ts" + import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + + type NameFormRequest = { name: string }; + type ReviewFormRequest = { review: string }; + + // Menu action that triggers menu response form + app.post('/internal/menu/start-workflow', async (c) => { + const _input = await c.req.json(); + // Server processing before showing form + const userData = await fetchUserData(); + + return c.json({ + showForm: { + name: 'nameForm', + form: { + fields: [ + { + type: 'string', + name: 'name', + label: 'Name', + }, + ], + }, + data: { name: userData.name } // Pre-populate from server + } + }); + }); + + // Form submission handler that can chain to another form + app.post('/internal/form/name-submit', async (c) => { + const { name } = await c.req.json(); + + // Server processing + await saveUserName(name); + + // Show next form in workflow + return c.json({ + showForm: { + name: 'reviewForm', + form: { + fields: [ + { + type: 'paragraph', + name: 'review', + label: 'How was your experience?', + }, + ], + } + } + }); + }); + + app.post('/internal/form/review-submit', async (c) => { + const { review } = await c.req.json(); + + await saveReview(review); + + return c.json({ + showToast: 'Thank you for your feedback!' + }); + }); + ``` + + + + + ```ts title="server/index.ts" + import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + + type NameFormRequest = { name: string }; + type ReviewFormRequest = { review: string }; + + // Menu action that triggers menu response form + router.post("/internal/menu/start-workflow", async (_req, res) => { + // Server processing before showing form + const userData = await fetchUserData(); + + res.json({ + showForm: { + name: 'nameForm', + form: { + fields: [ + { + type: 'string', + name: 'name', + label: 'Name', + }, + ], + }, + data: { name: userData.name } // Pre-populate from server + } + }); + }); + + // Form submission handler that can chain to another form + router.post("/internal/form/name-submit", async (req, res) => { + const { name } = req.body; + + // Server processing + await saveUserName(name); + + // Show next form in workflow + res.json({ + showForm: { + name: 'reviewForm', + form: { + fields: [ + { + type: 'paragraph', + name: 'review', + label: 'How was your experience?', + }, + ], + } + } + }); + }); + + router.post("/internal/form/review-submit", async (req, res) => { + const { review } = req.body; + + await saveReview(review); + + res.json({ + showToast: 'Thank you for your feedback!' + }); + }); + ``` + + + + + +## Form object + +The form object enables you to customize the form container and the [list of form fields](#supported-fields-types) included. + +#### Usage + +```tsx +const myForm = { + title: 'My form', + description: 'This is my form. There are many like it, but this one is mine.', + fields: [ + { + type: 'string', + name: 'food', + label: 'What is your favorite food?', + }, + { + type: 'string', + name: 'drink', + label: 'What is your favorite drink?', + }, + ], + acceptLabel: 'Submit', + cancelLabel: 'Cancel', +}; +``` + +#### Supported properties + +| Property | Supported types | Description | +| :------------ | :------------------- | :-------------------------------------------- | +| `title` | `string` `undefined` | An optional title for the form | +| `description` | `string` `undefined` | An optional description for the form | +| `fields` | `FormField[]` | The fields that will be displayed in the form | +| `acceptLabel` | `string` `undefined` | An optional label for the submit button | +| `cancelLabel` | `string` `undefined` | An optional label for the cancel button | + +## Supported fields types + +The following field types are supported: [String](#string), [Select](#select), [Paragraph](#paragraph), [Number](#number), [Boolean](#boolean), [Image](#image), and [Group](#group). + +### String + +A single-line text input. + +![String input](../../assets/capabilities/forms/forms-string.png) + +#### Usage + +```ts +const stringField = { + type: 'string', + name: 'title', + label: 'Tournament title', +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `string` | The desired field type. | +| `name` | `string` | The name of the field. This will be used as the key in the `values` object when the form is submitted. | +| `label` | `string` | The label of the field. This will be displayed to the user. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the field. | +| `required` | `boolean` `undefined` | If true the field will be required and the user will not be able to submit the form without filling it in. Defaults to `false`. | +| `disabled` | `boolean` `undefined` | If true the field will be disabled. Defaults to `false`. | +| `defaultValue` | ` ValueType` `undefined` | The default value of the field. | +| `scope` | [`SettingScopeType`](/api/public-api/type-aliases/SettingScopeType) `undefined` | This indicates whether the field (setting) is an app level or install level setting. App setting values can be used by any installation. `undefined` by default. | +| `placeholder` | `string` `undefined` | Placeholder text for display before a value is present. | +| `isSecret` | `boolean` `undefined` | Makes the form field secret. | + +### Select + +A dropdown menu with predefined options. + +![Select input](../../assets/capabilities/forms/forms-select.png) + +#### Usage + +```ts +const selectField = { + type: 'select', + name: 'interval', + label: 'Update the leaderboard', + options: [ + { label: 'Hourly', value: 'hourly' }, + { label: 'Daily', value: 'daily' }, + { label: 'Weekly', value: 'weekly' }, + { label: 'Monthly', value: 'monthly' }, + { label: 'Yearly', value: 'yearly' }, + ], +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `string` | The desired field type. | +| `name` | `string` | The name of the field. This will be used as the key in the `values` object when the form is submitted. | +| `label` | `string` | The label of the field. This will be displayed to the user. | +| `options` | `FieldConfig_Selection_Item[]` | The list of options available. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the field. | +| `required` | `boolean` `undefined` | If true the field will be required and the user will not be able to submit the form without filling it in. Defaults to `false`. | +| `disabled` | `boolean` `undefined` | If true the field will be disabled. Defaults to `false`. | +| `defaultValue` | ` string[]` `undefined` | The default value of the field. Note that the default value is wrapped in an array to support multiple selected values. | +| `scope` | [`SettingScopeType`](/api/public-api/type-aliases/SettingScopeType) `undefined` | This indicates whether the field (setting) is an app level or install level setting. App setting values can be used by any installation. `undefined` by default. | +| `multiSelect` | `boolean` `undefined` | Enables users to select more than 1 item from the set. | + +### Paragraph + +A multi-line text input for longer responses. + +![Paragraph input](../../assets/capabilities/forms/forms-paragraph.png) + +#### Usage + +```ts +const paragraphField = { + type: 'paragraph', + name: 'description', + label: 'Description', +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `string` | The desired field type. | +| `name` | `string` | The name of the field. This will be used as the key in the `values` object when the form is submitted. | +| `label` | `string` | The label of the field. This will be displayed to the user. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the field. | +| `required` | `boolean` `undefined` | If true the field will be required and the user will not be able to submit the form without filling it in. Defaults to `false`. | +| `disabled` | `boolean` `undefined` | If true the field will be disabled. Defaults to `false`. | +| `defaultValue` | ` ValueType` `undefined` | The default value of the field. | +| `scope` | [`SettingScopeType`](/api/public-api/type-aliases/SettingScopeType) `undefined` | This indicates whether the field (setting) is an app level or install level setting. App setting values can be used by any installation. `undefined` by default. | +| `placeholder` | `string` `undefined` | Placeholder text for display before a value is present. | +| `lineHeight` | `number` `undefined` | Sets the field height by number of lines. | + +### Number + +An input for numerical values. + +![Number input](../../assets/capabilities/forms/forms-number.png) + +#### Usage + +```ts +const numberField = { + type: 'number', + name: 'tokens', + label: 'Token balance', +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `string` | The desired field type. | +| `name` | `string` | The name of the field. This will be used as the key in the `values` object when the form is submitted. | +| `label` | `string` | The label of the field. This will be displayed to the user. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the field. | +| `required` | `boolean` `undefined` | If true the field will be required and the user will not be able to submit the form without filling it in. Defaults to `false`. | +| `disabled` | `boolean` `undefined` | If true the field will be disabled. Defaults to `false`. | +| `defaultValue` | ` ValueType` `undefined` | The default value of the field. | +| `scope` | [`SettingScopeType`](/api/public-api/type-aliases/SettingScopeType) `undefined` | This indicates whether the field (setting) is an app level or install level setting. App setting values can be used by any installation. `undefined` by default. | + +### Boolean + +A yes/no or true/false type input. + +![Boolean input](../../assets/capabilities/forms/forms-boolean.png) + +#### Usage + +```ts +const booleanField = { + type: 'boolean', + name: 'enable', + label: 'Enable the event', +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :------------- | :-------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `string` | The desired field type. | +| `name` | `string` | The name of the field. This will be used as the key in the `values` object when the form is submitted. | +| `label` | `string` | The label of the field. This will be displayed to the user. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the field. | +| `disabled` | `boolean` `undefined` | If true the field will be disabled. Defaults to `false`. | +| `defaultValue` | ` ValueType` `undefined` | The default value of the field. | +| `scope` | [`SettingScopeType`](/api/public-api/type-aliases/SettingScopeType) `undefined` | This indicates whether the field (setting) is an app level or install level setting. App setting values can be used by any installation. `undefined` by default. | + +### Image + +An image upload field. + +![Image input](../../assets/capabilities/forms/forms-image.png) + +#### Usage + +```ts +const imageField = { + type: 'image', // This tells the form to expect an image + name: 'myImage', + label: 'Image goes here', + required: true, +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :------------ | :----------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `type` | `string` | The desired field type. | +| `name` | `string` | The name of the field. This will be used as the key in the `values` object when the form is submitted. | +| `label` | `string` | The label of the field. This will be displayed to the user. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the field. | +| `required` | `boolean` `undefined` | If true the field will be required and the user will not be able to submit the form without filling it in. Defaults to `false`. | +| `disabled` | `boolean` `undefined` | If true the field will be disabled. Defaults to `false`. | +| `scope` | [`SettingScopeType`](/api/public-api/type-aliases/SettingScopeType) `undefined` | This indicates whether the field (setting) is an app level or install level setting. App setting values can be used by any installation. `undefined` by default. | +| `placeholder` | `string` `undefined` | Placeholder text for display before a value is present. | +| `isSecret` | `boolean` `undefined` | Makes the form field secret. | + +#### Notes + +- Supported image formats: PNG, JPEG, WEBP, and GIF. +- Maximum file size: 20 MB. +- Upload timeout: 30 seconds. Files close to 10 MB or larger can fail on slower networks. +- WEBP uploads are converted to JPEG. The returned Reddit URL points to a JPEG image. + +### Group + +A collection of related fields that allows for better readability. + +#### Usage + +```ts +const groupField = { + type: 'group', + label: 'This is a group of input fields', + fields: [ + { + type: 'paragraph', + name: 'description', + label: 'How would you describe what happened?', + }, + { + type: 'number', + name: 'score', + label: 'How would you rate your meal on a scale from 1 to 10?', + }, + ], +}; +``` + +#### Properties + +| Property | Supported types | Description | +| :--------- | :------------------- | :------------------------------------------------------------ | +| `type` | `string` | The desired field type. | +| `label` | `string` | The label of the group that will be displayed to the user. | +| `fields` | `FormField[]` | The fields that will be displayed in the group. | +| `helpText` | `string` `undefined` | An optional help text that will be displayed below the group. | + +## Examples + +Below is a collection of common use cases and patterns. + +### Dynamic forms + +**Client-side approach:** + ```ts title="client/index.ts" + import { showForm } from '@devvit/web/client'; + + // Get user data and show form with dynamic default values + const user = await reddit.getCurrentUser(); + + const result = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'username', + label: 'Username', + }, + ], + }, + data: { + username: user?.username || '' + } + }); + + if (result) { + // Handle the form result + console.log(`Hello ${result.username}`); + } + ``` + + **Server-side approach:** + ```json title="devvit.json" + { + "forms": { + "dynamicForm": "/internal/form/dynamic-submit" + } + } + ``` + + + + + ```ts title="server/index.ts" + import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + + type DynamicFormRequest = { username: string }; + + // Endpoint that shows form with dynamic data + app.post('/internal/menu/show-dynamic-form', async (c) => { + const _input = await c.req.json(); + const user = await reddit.getCurrentUser(); + + return c.json({ + showForm: { + name: 'dynamicForm', + form: { + fields: [ + { + type: 'string', + name: 'username', + label: 'Username', + }, + ], + }, + data: { + username: user?.username || '' + } + } + }); + }); + + // Form submission handler + app.post('/internal/form/dynamic-submit', async (c) => { + const { username } = await c.req.json(); + + return c.json({ + showToast: `Hello ${username}` + }); + }); + ``` + + + + + ```ts title="server/index.ts" + import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + + type DynamicFormRequest = { username: string }; + + // Endpoint that shows form with dynamic data + router.post("/internal/menu/show-dynamic-form", async (_req, res) => { + const user = await reddit.getCurrentUser(); + + res.json({ + showForm: { + name: 'dynamicForm', + form: { + fields: [ + { + type: 'string', + name: 'username', + label: 'Username', + }, + ], + }, + data: { + username: user?.username || '' + } + } + }); + }); + + // Form submission handler + router.post("/internal/form/dynamic-submit", async (req, res) => { + const { username } = req.body; + + res.json({ + showToast: `Hello ${username}` + }); + }); + ``` + + + + +### Multi-step forms + +**Client-side approach (Promise chaining):** + ```ts title="client/index.ts" + import { showForm } from '@devvit/web/client'; + + async function multiStepForm() { + // Step 1: Get name + const step1Result = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'name', + label: "What's your name?", + required: true, + }, + ], + } + }); + + if (!step1Result) return; // User cancelled + + // Step 2: Get food preference + const step2Result = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'food', + label: "What's your favorite food?", + required: true, + }, + ], + }, + data: { name: step1Result.name } // Pass data from previous step + }); + + if (!step2Result) return; // User cancelled + + // Step 3: Get drink preference + const step3Result = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'drink', + label: "What's your favorite drink?", + required: true, + }, + ], + }, + data: { + name: step1Result.name, + food: step2Result.food + } + }); + + if (step3Result) { + // All steps completed - save or process data + const finalData = { + ...step1Result, + ...step2Result, + ...step3Result + }; + + console.log(`Thanks ${finalData.name}! You like ${finalData.food} and ${finalData.drink}.`); + } + } + ``` + + **Server-side approach (Separate endpoints):** + ```json title="devvit.json" + { + "forms": { + "step1Form": "/internal/form/step1-submit", + "step2Form": "/internal/form/step2-submit", + "step3Form": "/internal/form/step3-submit" + } + } + ``` + + + + + ```ts title="server/index.ts" + import type { UiResponse } from '@devvit/web/shared'; + + type Step1FormRequest = { name: string }; + type Step2FormRequest = { name: string; food: string }; + type Step3FormRequest = { name: string; food: string; drink: string }; + + // Step 1: Name form + app.post('/internal/form/step1-submit', async (c) => { + const { name } = await c.req.json(); + + return c.json({ + showForm: { + name: 'step2Form', + form: { + fields: [ + { + type: 'string', + name: 'food', + label: "What's your favorite food?", + required: true, + }, + ], + }, + data: { name } // Pass data to next step + } + }); + }); + + // Step 2: Food form + app.post('/internal/form/step2-submit', async (c) => { + const { name, food } = await c.req.json(); + + return c.json({ + showForm: { + name: 'step3Form', + form: { + fields: [ + { + type: 'string', + name: 'drink', + label: "What's your favorite drink?", + required: true, + }, + ], + }, + data: { name, food } // Pass accumulated data + } + }); + }); + + // Step 3: Final form + app.post('/internal/form/step3-submit', async (c) => { + const { name, food, drink } = await c.req.json(); + + return c.json({ + showToast: `Thanks ${name}! You like ${food} and ${drink}.` + }); + }); + ``` + + + + + ```ts title="server/index.ts" + import type { UiResponse } from '@devvit/web/shared'; + + type Step1FormRequest = { name: string }; + type Step2FormRequest = { name: string; food: string }; + type Step3FormRequest = { name: string; food: string; drink: string }; + + // Step 1: Name form + router.post("/internal/form/step1-submit", async (req, res) => { + const { name } = req.body; + + res.json({ + showForm: { + name: 'step2Form', + form: { + fields: [ + { + type: 'string', + name: 'food', + label: "What's your favorite food?", + required: true, + }, + ], + }, + data: { name } // Pass data to next step + } + }); + }); + + // Step 2: Food form + router.post("/internal/form/step2-submit", async (req, res) => { + const { name, food } = req.body; + + res.json({ + showForm: { + name: 'step3Form', + form: { + fields: [ + { + type: 'string', + name: 'drink', + label: "What's your favorite drink?", + required: true, + }, + ], + }, + data: { name, food } // Pass accumulated data + } + }); + }); + + // Step 3: Final form + router.post("/internal/form/step3-submit", async (req, res) => { + const { name, food, drink } = req.body; + + res.json({ + showToast: `Thanks ${name}! You like ${food} and ${drink}.` + }); + }); + ``` + + + + +### One of everything + +This example includes one of each of the [supported field types](#supported-fields-types). + +**Client-side approach:** + ```ts title="client/index.ts" + import { showForm } from '@devvit/web/client'; + + const result = await showForm({ + form: { + title: 'My favorites', + description: 'Tell us about your favorite food!', + fields: [ + { + type: 'string', + name: 'food', + label: 'What is your favorite food?', + helpText: 'Must be edible', + required: true, + }, + { + label: 'About that food', + type: 'group', + fields: [ + { + type: 'number', + name: 'times', + label: 'How many times a week do you eat it?', + defaultValue: 1, + }, + { + type: 'paragraph', + name: 'what', + label: 'What makes it your favorite?', + }, + { + type: 'select', + name: 'healthy', + label: 'Is it healthy?', + options: [ + { label: 'Yes', value: 'yes' }, + { label: 'No', value: 'no' }, + { label: 'Maybe', value: 'maybe' }, + ], + defaultValue: ['maybe'], + }, + ], + }, + { + type: 'boolean', + name: 'again', + label: 'Can we ask again?', + }, + ], + acceptLabel: 'Submit', + cancelLabel: 'Cancel', + } + }); + + if (result) { + console.log('Form values:', result); + // Handle form submission + } + ``` + + **Server-side approach:** + ```json title="devvit.json" + { + "forms": { + "everythingForm": "/internal/form/everything-submit" + } + } + ``` + + + + + ```ts title="server/index.ts" + import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + + type EverythingFormRequest = { + food: string; + times?: number; + what?: string; + healthy?: string[]; + again?: boolean; + }; + + app.post('/internal/form/everything-submit', async (c) => { + const formValues = await c.req.json(); + console.log('Form values:', formValues); + + return c.json({ + showToast: 'Thanks!' + }); + }); + + // Example showing the form + app.post('/internal/menu/show-everything-form', async (c) => { + const _input = await c.req.json(); + return c.json({ + showForm: { + name: 'everythingForm', + form: { + title: 'My favorites', + description: 'Tell us about your favorite food!', + fields: [ + { + type: 'string', + name: 'food', + label: 'What is your favorite food?', + helpText: 'Must be edible', + required: true, + }, + { + label: 'About that food', + type: 'group', + fields: [ + { + type: 'number', + name: 'times', + label: 'How many times a week do you eat it?', + defaultValue: 1, + }, + { + type: 'paragraph', + name: 'what', + label: 'What makes it your favorite?', + }, + { + type: 'select', + name: 'healthy', + label: 'Is it healthy?', + options: [ + { label: 'Yes', value: 'yes' }, + { label: 'No', value: 'no' }, + { label: 'Maybe', value: 'maybe' }, + ], + defaultValue: ['maybe'], + }, + ], + }, + { + type: 'boolean', + name: 'again', + label: 'Can we ask again?', + }, + ], + acceptLabel: 'Submit', + cancelLabel: 'Cancel', + } + } + }); + }); + ``` + + + + + ```ts title="server/index.ts" + import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + + type EverythingFormRequest = { + food: string; + times?: number; + what?: string; + healthy?: string[]; + again?: boolean; + }; + + router.post("/internal/form/everything-submit", async (req, res) => { + console.log('Form values:', req.body); + + res.json({ + showToast: 'Thanks!' + }); + }); + + // Example showing the form + router.post("/internal/menu/show-everything-form", async (_req, res) => { + res.json({ + showForm: { + name: 'everythingForm', + form: { + title: 'My favorites', + description: 'Tell us about your favorite food!', + fields: [ + { + type: 'string', + name: 'food', + label: 'What is your favorite food?', + helpText: 'Must be edible', + required: true, + }, + { + label: 'About that food', + type: 'group', + fields: [ + { + type: 'number', + name: 'times', + label: 'How many times a week do you eat it?', + defaultValue: 1, + }, + { + type: 'paragraph', + name: 'what', + label: 'What makes it your favorite?', + }, + { + type: 'select', + name: 'healthy', + label: 'Is it healthy?', + options: [ + { label: 'Yes', value: 'yes' }, + { label: 'No', value: 'no' }, + { label: 'Maybe', value: 'maybe' }, + ], + defaultValue: ['maybe'], + }, + ], + }, + { + type: 'boolean', + name: 'again', + label: 'Can we ask again?', + }, + ], + acceptLabel: 'Submit', + cancelLabel: 'Cancel', + } + } + }); + }); + ``` + + + + +### Image uploads + +**Client-side approach:** + ```ts title="client/index.ts" + import { showForm } from '@devvit/web/client'; + + const result = await showForm({ + form: { + title: 'Upload an image!', + fields: [ + { + name: 'myImage', + type: 'image', // This tells the form to expect an image + label: 'Image goes here', + required: true, + }, + ], + } + }); + + if (result) { + const { myImage } = result; + // returns an i.redd.it URL + console.log('Image uploaded:', myImage); + + // Process the image further + await fetch('/api/process-image', { + method: 'POST', + body: JSON.stringify({ imageUrl: myImage }) + }); + } + ``` + + **Server-side approach:** + ```json title="devvit.json" + { + "forms": { + "imageForm": "/internal/form/image-submit" + } + } + ``` + + + + + ```ts title="server/index.ts" + import type { UiResponse } from '@devvit/web/shared'; + + type ImageFormRequest = { myImage: string }; + + app.post('/internal/form/image-submit', async (c) => { + const { myImage } = await c.req.json(); + // Store the mediaUrl in Redis and render it via an tag on the client, or send to external service to modify + console.log('Image uploaded:', myImage); + + return c.json({ + showToast: 'Image uploaded successfully!' + }); + }); + ``` + + + + + ```ts title="server/index.ts" + import type { UiResponse } from '@devvit/web/shared'; + + type ImageFormRequest = { myImage: string }; + + router.post("/internal/form/image-submit", async (req, res) => { + const { myImage } = req.body; + // Store the mediaUrl in Redis and render it via an tag on the client, or send to external service to modify + console.log('Image uploaded:', myImage); + + res.json({ + showToast: 'Image uploaded successfully!' + }); + }); + ``` + + + diff --git a/versioned_docs/version-0.14/capabilities/client/menu-actions.mdx b/versioned_docs/version-0.14/capabilities/client/menu-actions.mdx new file mode 100644 index 00000000..348944e8 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/client/menu-actions.mdx @@ -0,0 +1,308 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Menu actions + +Add an item to the three dot menu for posts, comments, or subreddits. Menu actions can perform immediate client effects or trigger server processing followed by client effects. + +![Subreddit menu actions](../../assets/capabilities/menu-actions/menu-actions-subreddit.png) + +## Basic menu actions + +**For most menu actions, use direct client effects.** These provide immediate responses and are perfect for simple actions that don't require server processing. + +**Menu items defined in devvit.json:** + +```json title="devvit.json" +{ + "menu": { + "items": [ + { + "description": "Show user information", + "endpoint": "/internal/menu/show-info", + "location": "post" + } + ] + } +} +``` + +**Simple endpoint with direct client effects:** + + + + +```ts title="server/index.ts" +import type { MenuItemRequest, UiResponse } from "@devvit/web/shared"; + +app.post("/internal/menu/show-info", async (c) => { + const _input = await c.req.json(); + // Simple actions don't need server processing + return c.json({ + showToast: "Menu action clicked!", + }); +}); +``` + + + + +```ts title="server/index.ts" +import type { MenuItemRequest, UiResponse } from "@devvit/web/shared"; + +app.post( + "/internal/menu/show-info", + async (_req, res) => { + // Simple actions don't need server processing + res.json({ + showToast: "Menu action clicked!", + }); + }, +); +``` + + + + +## Supported contexts + +You can decide where the menu action shows up by specifying the location property. + +| Property | Values | Description | +| ---------------------- | ------------------------------ | ------------------------------------------------------------------------------- | +| location (required) | `comment`, `post`, `subreddit` | Determines where the menu action appears. | +| postFilter (optional) | `currentApp` | Shows the action created by your app. The default is no filtering. | +| forUserType (optional) | `moderator` | Specifies the user types that can see the menu action. The default is everyone. | + +:::note +For moderator permission security, when opening a form from a menu action with `forUserType: moderator`, the user initiating the action must complete all actions within 10 minutes. +::: + +## Menu responses + +In Devvit Web, your menu item should respond with a client side effect to give feedback to users. This is available as a UIResponse as you do not have access to the `@devvit/web/client` library from your server endpoints. + +**Menu items with server processing:** + +```json title="devvit.json" +{ + "menu": { + "items": [ + { + "label": "Process and validate data", + "endpoint": "/internal/menu/complex-action", + "forUserType": "moderator", + "location": "subreddit" + } + ] + } +} +```` + + + + +```ts title="server/index.ts" +import type { MenuItemRequest, UiResponse } from "@devvit/web/shared"; + +app.post("/internal/menu/complex-action", async (c) => { + const _input = await c.req.json(); + try { + // Perform server-side processing + const userData = await validateAndProcessData(); + + // Show form with server-fetched data + return c.json({ + showForm: { + name: "processForm", + form: { + fields: [ + { + type: "string", + name: "processedData", + label: "Processed Data", + }, + ], + }, + data: { processedData: userData.processed }, + }, + }); + } catch (error) { + return c.json({ + showToast: "Processing failed. Please try again.", + }); + } +}); +``` + + + + +```ts title="server/index.ts" +import type { MenuItemRequest, UiResponse } from "@devvit/web/shared"; + +app.post( + "/internal/menu/complex-action", + async (_req, res) => { + try { + // Perform server-side processing + const userData = await validateAndProcessData(); + + // Show form with server-fetched data + res.json({ + showForm: { + name: "processForm", + form: { + fields: [ + { + type: "string", + name: "processedData", + label: "Processed Data", + }, + ], + }, + data: { processedData: userData.processed }, + }, + }); + } catch (error) { + res.json({ + showToast: "Processing failed. Please try again.", + }); + } + }, +); +``` + + + + +### Menu response examples + +Menu responses can trigger any client effect after server processing: + +**Show toast after processing:** + + + + +```ts +return c.json({ + showToast: { + text: "Processing completed!", + appearance: "success", + }, +}); +``` + + + + +```ts +res.json({ + showToast: { + text: "Processing completed!", + appearance: "success", + }, +}); +``` + + + + +**Navigate after data fetching:** + + + + +```ts +const post = await reddit.getPostById(postId); +return c.json({ + navigateTo: post, +}); +``` + + + + +```ts +const post = await reddit.getPostById(postId); +res.json({ + navigateTo: post, +}); +``` + + + + +**Chain multiple forms:** + + + + +```ts +// First form response leads to second form +return c.json({ + showForm: { + name: 'secondForm', + form: { fields: [...] }, + data: { fromStep1: processedData } + } +}); +``` + + + + +```ts +// First form response leads to second form +res.json({ + showForm: { + name: 'secondForm', + form: { fields: [...] }, + data: { fromStep1: processedData } + } +}); +``` + + + + +## Limitations + +- A sort order of actions in the context menu can't be specified. +- The context, name, and description fields do not support dynamic logic. diff --git a/versioned_docs/version-0.14/capabilities/client/navigation.mdx b/versioned_docs/version-0.14/capabilities/client/navigation.mdx new file mode 100644 index 00000000..0a2cf3cb --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/client/navigation.mdx @@ -0,0 +1,53 @@ +# Navigation + +Use navigation functions to redirect users to Reddit content or external websites in response to user actions, such as button clicks. You can redirect to a `url` string or to objects such as [`Subreddit`](/api/redditapi/models/classes/Subreddit.md), [`Post`](/api/redditapi/models/classes/Post.md), or [`Comment`](/api/redditapi/models/classes/Comment.md). + +**For most navigation interactions, use the direct client library functions.** These provide immediate navigation and are perfect for user interactions within your app components. + +:::warning +When linking to Reddit content, the navigation function requires the app account to have access to the content. If the app account does not have access, the redirect will fail. +::: + +## Basic navigation + +```ts title="client/index.ts" +import { navigateTo } from '@devvit/web/client'; + +// Navigate to external URLs +navigateTo('https://www.youtube.com/watch?v=dQw4w9WgXcQ'); + +// Navigate to Reddit URLs +navigateTo('https://www.reddit.com/r/movies/comments/tzxev3/'); + +// Navigate to Reddit objects +async function goToPost() { + const post = await fetch('/api/getPost').then(r => r.json()); + navigateTo(post); +} + +// Use in button handlers or user interactions +function handleNavigateClick() { + navigateTo('https://www.reddit.com/r/webdev'); +} +``` + +### Parameters + +**`navigateTo(target)`** + +- `target`: Either a URL string or a Reddit object (Subreddit, Post, Comment) + +:::tip Menu response navigation +For navigation in menu response workflows (when you need server processing before navigation), see the [Menu Actions](./menu-actions.mdx) documentation. +::: + +## External URLs + +Users see a confirmation dialog before going to external URLs. + +![Confirmation dialog for external links](../../assets/capabilities/adding-links/adding-links-external-link-dialog.png) + +## Limitations + +- `url` must be http/https +- `url` must have a domain diff --git a/versioned_docs/version-0.14/capabilities/client/overview.mdx b/versioned_docs/version-0.14/capabilities/client/overview.mdx new file mode 100644 index 00000000..70ed7f79 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/client/overview.mdx @@ -0,0 +1,65 @@ +# Client Overview + +Client-side effects enable your Devvit app to provide interactive feedback and navigation to users. These effects include showing toasts, displaying forms, navigating to different pages, and more. + +Import client functions from `@devvit/web/client`: + +```ts title="client/index.ts" +import { showToast, showForm, navigateTo } from '@devvit/web/client'; + +// Show a toast notification +showToast('Hello from Devvit Web!'); + +// Navigate to a URL +navigateTo('https://www.reddit.com/r/webdev'); + +// Show a form and handle response +const result = await showForm({ + form: { + fields: [ + { + type: 'string', + name: 'username', + label: 'Username' + } + ] + } +}); + +if (result) { + console.log('Form submitted:', result.username); +} +``` + +## Available client effects + +| Effect | Description | API | +|--------|-------------|-----| +| **Toast** | Show temporary notification messages | `showToast()` | +| **Form** | Display interactive forms with promise-based responses | `showForm()` | +| **Navigation** | Redirect to Reddit content or external URLs | `navigateTo()` | + +:::caution +You should only use client library functions in response to a user-initiated action. +::: + +## Menu responses + +Menu items can respond with client effects after server processing. + +Menu responses allow you to: +- Process data on the server before showing client effects +- Chain multiple forms together in complex workflows +- Validate user permissions before allowing actions +- Fetch external data to populate forms or display results + +For complete details and examples, see the [Menu Actions](./menu-actions.mdx) documentation. + +## Next steps + +Explore the specific documentation for each client effect: + +- [Toasts](./toasts.mdx) - Temporary notification messages +- [Forms](./forms.mdx) - Interactive user input +- [Navigation](./navigation.mdx) - Redirecting users +- [Realtime](../realtime/overview.md) - Live updates and communication diff --git a/versioned_docs/version-0.14/capabilities/client/toasts.mdx b/versioned_docs/version-0.14/capabilities/client/toasts.mdx new file mode 100644 index 00000000..a0ed6194 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/client/toasts.mdx @@ -0,0 +1,71 @@ +# Toasts + +Display temporary notification messages to users at the bottom of the screen. + +## Overview + +Toasts are brief, non-intrusive messages that appear temporarily at the bottom of the screen to provide feedback to users about their actions. They automatically disappear after a few seconds and are ideal for confirming successful operations or displaying status updates. + +**For most toast interactions, use the direct client library functions.** These provide immediate feedback and are perfect for user interactions within your app components. + +:::note +Toasts will not work from scheduled jobs or triggers. +::: + +## Toast appearance types + +| Appearance | Description | +| ---------- | --------------------------------------------------------- | +| `neutral` | Default gray appearance for general notifications | +| `success` | Green appearance for successful operations | + +## Basic toast usage + +```ts +import { showToast } from '@devvit/web/client'; + +// Simple text toast +showToast('Operation completed successfully!'); + +// Toast with custom appearance +showToast({ + text: 'Data saved successfully!', + appearance: 'success', // 'neutral' | 'success' +}); + +// Use in button handlers or user interactions +function handleButtonClick() { + try { + // Perform some operation + processUserData(); + + showToast({ + text: 'Your data has been processed!', + appearance: 'success' + }); + } catch (error) { + showToast('Something went wrong. Please try again.'); + } +} +``` + +### Parameters + +**`showToast(textOrToast)`** + +- `textOrToast`: Either a string message or a `Toast` object + +**Toast Object Properties:** + +- `text` (string): The message to display +- `appearance` (string, optional): The visual style (`'neutral'` | `'success'`). Defaults to `'neutral'` + +:::tip Menu response toasts +For toasts in menu response workflows (when you need server processing before showing toasts), see the [Menu Actions](./menu-actions.mdx) documentation. +::: + +## Best practices + +- Keep toast messages concise and clear +- Avoid showing multiple toasts in quick succession +- Don't rely on toasts for critical information that users must see diff --git a/versioned_docs/version-0.14/capabilities/creating_custom_post.md b/versioned_docs/version-0.14/capabilities/creating_custom_post.md new file mode 100644 index 00000000..2768d612 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/creating_custom_post.md @@ -0,0 +1,122 @@ +# Creating a Custom Post + +Redditors interact with your app through custom posts. To create a custom post, you’ll define the entry points in `devvit.json,` then use `submitCustomPost` to create a post that references one of those entry points. + +## **How it Works** + +Each key in the `entrypoints` object (e.g. "default", "game") maps to an HTML file in your build output. When you call `submitCustomPost`, the entry parameter references one of these keys. + +``` +// devvit.json default template +... +"name": "test-custom-post", + "post": { + "dir": "dist/client", + "entrypoints": { + "default": { + "entry": "splash.html" + }, + "game": { + "entry": "game.html" + } + } + } +... +``` + +```ts +import { reddit } from '@devvit/web/server'; + +export const createPost = async () => { + return await reddit.submitCustomPost({ + title: 'Example title for post', + entry: 'default' // default + }); +}; + +``` + +`submitCustomPost` accepts the following optional parameters: + +| Parameter | Description | +| :---- | :---- | +| `entry` | Key of the entrypoint defined in `devvit.json` | +| `postData` | [Updates post data after creation](../capabilities/server/post-data) | +| `textFallback` | [Specifies alternative text content](../capabilities/server/text_fallback) | +| `userGeneratedContent` | [Enables user-generated content](../capabilities/server/userActions) | +| `styles` | Controls post appearance in the Reddit UI. See [Custom Post Styles](#custom-post-styles) | + +## **Custom Post Styles** + +Custom post styles let you control how a custom post looks in the Reddit UI, separate from the content inside your webview. You can: + +* Set the **light mode or dark mode background color** shown while the iframe loads +* Choose the **post height** (for example, `“REGULAR”` or `“TALL”`) to control how much vertical space the post takes in the feed. +* Provide a **share image URL** that’s used for link previews when the post is shared outside Reddit. + +All style fields are optional. If you don’t set them, Reddit’s default settings apply. + +### Properties + +| Field | Type | Description | +| :---- | :---- | :---- | +| `backgroundColor` | `string` (optional) | The **default background color** shown before the iframe content loads. Must be in **`#RRGGBBAA`** format (red, green, blue, alpha transparency). The value is **case-insensitive**. Defaults to **transparent** (`#00000000`). | +| `backgroundColorDark` | `string` (optional) | The **dark mode background color** shown before the iframe content loads. Must be in **`#RRGGBBAA`** format with a leading `#`. Defaults to **transparent** (`#00000000`). | +| `height` | `EntrypointHeight` enum (optional) | Post height. `TALL` \= 512px, `REGULAR` \= 320px. Width varies from \~288–880px depending on device and viewport. Defaults to `”TALL”`. | +| `shareImageUrl` | `string` (optional) | The **preview image URL** used when the post is shared externally (for example, OpenGraph `og:image`). Note: The image **must** be hosted on [i.redd.it](http://i.redd.it) domain. Use the [media upload plugin](https://developers.reddit.com/docs/capabilities/server/media-uploads) to upload a custom image. This only works if your app is on a public subreddit. Defaults to Reddit’s generic share image: `https://i.redd.it/o0h58lzmax6a1.png`. | + +### Creating a custom post with styles + +Set your custom post styles when you create a custom post: + +```javascript +await reddit.submitCustomPost({ + "title": "Post with styles title", + "styles": { + "backgroundColor": "#FFFFFFFF", // white, fully opaque + "backgroundColorDark": "#000000FF", // black, fully opaque + "height": "TALL", + "shareImageUrl": "https://i.redd.it/o0h58lzmax6a1.png" + } +}) +``` + +Note: All style fields are optional. + +### Updating styles + +Use `post.setCustomPostStyles()` to update styles on an existing post. Only include the fields you want to change. Omitted fields remain unchanged. + +```javascript +const post = await reddit.getPostById(context.postId); +await post.setCustomPostStyles({ + "shareImageUrl": "https://i.redd.it/o0h58lzmax6a1.png" +}); +``` + +Existing `background_color`, `background_color_dark`, and `height` values remain unchanged. + +### Reading styles + +Use `post.getCustomPostStyles()` or `reddit.getPostStyles(id)` to read the styles on an existing post. Settings that haven’t been set yet will give you their default values. + +```javascript +const post = await reddit.getPostById(context.postId); +const styles = await post.getCustomPostStyles(); +// Or, if you don't need the post object and want just the styles: +const styles = await reddit.getPostStyles(context.postId); +``` + +# Best Practices + +* **Color format:** Always provide 8-digit hex with alpha: `#RRGGBBAA`. + * `RR`, `GG`, `BB`: 00–FF (0–255) color channels. + * `AA`: 00–FF alpha channel (`00` \= fully transparent, `FF` \= fully opaque). + +* **Transparency:** Use alpha (`AA`) to blend your app experience smoothly with Reddit backgrounds (for example, `#00000080` for semi-transparent black). + +* **Dark mode:** Always set `background_color_dark` when your iframe content has a dark theme so the pre-load state matches the final experience. + +* **Height:** Choose the `height` that best matches your UI. The platform will handle mapping that logical value to the correct pixel height for the client. + +* **Share image:** Must be hosted on [i.redd.it](http://i.redd.it) (use the [media upload plugin](https://developers.reddit.com/docs/capabilities/server/media-uploads)) and ensure the asset meets typical OpenGraph sizing and aspect-ratio expectations so it renders cleanly across platforms. This only works if your app is on a public subreddit. diff --git a/versioned_docs/version-0.14/capabilities/devvit-web/devvit_web_configuration.md b/versioned_docs/version-0.14/capabilities/devvit-web/devvit_web_configuration.md new file mode 100644 index 00000000..373be4a2 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/devvit-web/devvit_web_configuration.md @@ -0,0 +1,482 @@ +# Configure your app + +The `devvit.json` file serves as your app's configuration file. Use it to specify entry points, configure features like [event triggers](../server/triggers) and [scheduled actions](../server/scheduler.mdx), and enable app functionality such as [image uploads](../server/media-uploads.mdx). This page summarizes the schema-supported configuration options; the published JSON Schema remains authoritative. A representative `devvit.json` example is provided [here](#complete-example). + +## devvit.json + +The `devvit.json` [schema](https://developers.reddit.com/schema/config-file.v1.json) is available and is self-documented. + +All configuration files should include a `$schema` property which many IDEs will use to make suggestions and present documentation: + +```json +{ + "$schema": "https://developers.reddit.com/schema/config-file.v1.json" +} +``` + +## Required properties + +Your `devvit.json` must include: + +- **`name`** (required): App account name and Community URL slug. Must be 3-20 characters, start with a letter, and contain only lowercase letters, numbers, and hyphens. + +Additionally, you must include at least one of: + +- **`post`**: For web view apps +- **`server`**: For Node.js server apps + +## Configuration sections + +### Core properties + +| Property | Type | Description | Required | +| --------- | ------ | ------------------------------------------------------------------------- | ---------------- | +| `name` | string | App account name and Community URL slug (3-20 chars, `^[a-z][a-z0-9-]*$`) | Yes | +| `$schema` | string | Schema version for IDE support | No (recommended) | + +### App components + +| Property | Type | Description | Required | +| -------- | ------ | ---------------------------------- | ------------------ | +| `post` | object | Custom post/web view configuration | One of post/server | +| `server` | object | Node.js server configuration | One of post/server | + +### Permissions & capabilities + +| Property | Type | Description | Required | +| ----------------- | ------ | ------------------------------ | -------- | +| `permissions` | object | What your app is allowed to do | No | +| `media` | object | Static asset configuration | No | +| `marketingAssets` | object | Assets for featuring your app | No | + +### Event handling + +| Property | Type | Description | Required | +| ----------- | ------ | ---------------------------- | -------------------- | +| `triggers` | object | Event trigger endpoints | No (requires server) | +| `scheduler` | object | Scheduled task configuration | No | + +### UI & interaction + +| Property | Type | Description | Required | +| ---------- | ------ | ------------------------------------------------ | -------- | +| `menu` | object | Menu items in posts, comments, and subreddits | No | +| `forms` | object | Form submission endpoints | No | +| `settings` | object | Global and per-subreddit app settings definitions | No | + +### Development + +| Property | Type | Description | Required | +| --------------- | ------ | ------------------------------------------------------- | -------- | +| `dev` | object | Development configuration | No | +| `scripts` | object | Build commands run by the Devvit CLI | No | +| `sourceIgnores` | array | Source files excluded from packages submitted for review | No | + +## Detailed configuration + +### Post configuration + +Configure web views for custom post types: + +```json +{ + "post": { + "dir": "public", + "entrypoints": { + "default": { + "entry": "index.html", + "height": "tall" + } + } + } +} +``` + +**Properties:** + +- `dir` (string): Client directory for web view assets (default: `"public"`) +- `entrypoints` (object): Map of named entrypoints for post rendering + - Must include a `"default"` entrypoint + - `entry` (string): HTML file path or `/api/` endpoint + - `height` (enum): `"regular"` or `"tall"` (default: `"tall"`) + +### Server configuration + +Configure Node.js server functionality: + +```json +{ + "server": { + "dir": "dist/server", + "entry": "index.js" + } +} +``` + +**Properties:** + +- `dir` (string): Server bundle directory relative to the project root (default: `"dist/server"`) +- `entry` (string): Server bundle filename within `server.dir` (default: `"index.js"`) +- `externalEndpoints` (object): Named `/external/` routes available to approved outside callers. See [External Endpoints](../server/external-endpoints.mdx). + +Server bundles must be compiled to CommonJS (`cjs`). ES module output is not supported by the Devvit Web runtime. + +### Permissions configuration + +Control what your app can access: + +```json +{ + "permissions": { + "http": { + "enable": true, + "domains": ["example.com", "api.github.com"] + }, + "media": true, + "payments": false, + "realtime": false, + "redis": true, + "chromeless": false, + "reddit": { + "enable": true, + "asUser": ["SUBMIT_POST", "SUBMIT_COMMENT"] + } + } +} +``` + +**HTTP plugin:** + +- `enable` (boolean): Enable HTTP plugin (default: `true`) +- `domains` (array): Allowed domains for `fetch()` calls + +**Reddit API plugin:** + +- `enable` (boolean): Enable Reddit API (default: `true`) +- `scope` (enum): `"user"` or `"moderator"` (default: `"user"`) +- `asUser` (array): APIs to execute as user account + +**Other permissions:** + +- `media` (boolean): Enable media uploads (default: `false`) +- `payments` (boolean): Enable the payments plugin (default: `false`) +- `realtime` (boolean): Enable realtime messaging (default: `false`) +- `redis` (boolean): Enable Redis storage (default: `false`) +- `chromeless` (boolean): Allow supported custom posts to render without standard post chrome when highlighted (default: `false`) +- `blob` (boolean): Reserved for the experimental Blob Storage capability and not yet publicly available. Follow the current [Blob Storage](../server/blob-storage.mdx) setup instructions rather than enabling this field unless directed by Reddit. + +### Triggers configuration + +Handle Reddit events: + +```json +{ + "triggers": { + "onPostCreate": "/internal/triggers/post-create", + "onCommentSubmit": "/internal/triggers/comment-submit", + "onModAction": "/internal/triggers/mod-action" + } +} +``` + +**Available triggers:** + +- `onAppInstall`, `onAppUpgrade` +- `onPostCreate`, `onPostDelete`, `onPostSubmit`, `onPostUpdate`, `onPostReport`, `onPostFlairUpdate`, `onPostNsfwUpdate`, `onPostSpoilerUpdate` +- `onCommentCreate`, `onCommentDelete`, `onCommentSubmit`, `onCommentUpdate`, `onCommentReport` +- `onMentionInCommentCreate` (limited access; see [Global Triggers](../server/global-triggers.mdx)) +- `onModAction`, `onModMail` +- `onAutomoderatorFilterPost`, `onAutomoderatorFilterComment` + +**Note:** All trigger endpoints must start with `/internal/` and will receive POST requests with JSON data. + +### Menu configuration + +Add menu items to subreddit interfaces: + +```json +{ + "menu": { + "items": [ + { + "label": "Approve Post", + "description": "Quickly approve this post", + "forUserType": "moderator", + "location": ["post"], + "endpoint": "/internal/menu/approve-post", + "postFilter": "none" + }, + { + "label": "Report Issue", + "description": "Report a problem with this post", + "forUserType": "user", + "location": ["post", "comment"], + "endpoint": "/internal/menu/report-issue" + } + ] + } +} +``` + +**Menu item properties:** + +- `label` (string): Display text (required) +- `description` (string): Short description +- `forUserType` (enum): `"moderator"` or `"user"` (default: `"moderator"`) +- `location` (string|array): Where menu appears (`"post"`, `"comment"`, `"subreddit"`) +- `endpoint` (string): Internal endpoint to call (required) +- `postFilter` (enum): `"none"` or `"currentApp"` (default: `"none"`) + +### Scheduler configuration + +Configure scheduled tasks: + +```json +{ + "scheduler": { + "tasks": { + "daily-cleanup": { + "endpoint": "/internal/cron/daily-cleanup", + "cron": "0 2 * * *" + }, + "hourly-check": { + "endpoint": "/internal/cron/hourly-check", + "cron": "0 * * * *", + "data": { + "checkType": "health" + } + }, + "manual-task": "/internal/cron/manual-task" + } + } +} +``` + +**Task configuration:** + +- `endpoint` (string): Internal endpoint to call (required) +- `cron` (string): Cron schedule (optional, for automatic scheduling) +- `data` (object): Additional data passed to cron tasks (optional) + +**Cron format:** Standard five-part (`0 2 * * *`) or six-part (`*/30 * * * * *`) format. + +### Forms configuration + +Map form identifiers to submission endpoints: + +```json +{ + "forms": { + "contact_form": "/internal/forms/contact", + "feedback_form": "/internal/forms/feedback" + } +} +``` + +### Static asset configuration + +Configure a directory of static assets that is available to both the app client and server: + +```json +{ + "media": { + "dir": "assets" + } +} +``` + +- `dir` (string): Static asset directory relative to the project root (default: `"assets"`) + +This top-level `media` object is separate from `permissions.media`, which enables runtime media uploads. + +### Settings configuration + +Define settings that apply globally or can be configured separately for each subreddit installation: + +```json +{ + "settings": { + "global": { + "featureEnabled": { + "type": "boolean", + "label": "Enable feature", + "defaultValue": true + } + }, + "subreddit": { + "welcomeMessage": { + "type": "paragraph", + "label": "Welcome message" + } + } + } +} +``` + +At least one of `global` or `subreddit` is required. Supported setting types include strings, paragraphs, numbers, booleans, selects, and multi-selects. See [Settings and Secrets](../server/settings-and-secrets.mdx) for validation and access patterns. + +### Payments configuration + +The top-level `payments` object declares products and the internal endpoints used to fulfill or refund orders. It is separate from `permissions.payments`, which enables the payments plugin. + +```json +{ + "payments": { + "productsFile": "products.json", + "endpoints": { + "fulfillOrder": "/internal/payments/fulfill-order", + "refundOrder": "/internal/payments/refund-order" + } + } +} +``` + +Provide either inline `products` or a `productsFile`, and always configure `endpoints.fulfillOrder`. See [Add Payments](../../earn-money/payments/payments_add.mdx) for the complete product schema and implementation steps. + +### Marketing assets + +Configure app presentation: + +```json +{ + "marketingAssets": { + "icon": "assets/icon.png" + } +} +``` + +**Properties:** + +- `icon` (string): Path to 1024x1024 PNG icon (required) + +### Scripts configuration + +Configure build commands run by the Devvit CLI. These commands run relative to the `devvit.json` directory. + +```json +{ + "scripts": { + "dev": "vite build --watch", + "build": "vite build" + } +} +``` + +**Properties:** + +- `dev` (string): Command run by `devvit playtest` to build or watch your client/server artifacts +- `build` (string): Command run by `devvit upload` to build your client/server artifacts + +### Source packaging exclusions + +Use `sourceIgnores` to exclude files from the source archive submitted during `devvit publish`. Patterns use `.gitignore` syntax and are evaluated after the root `.gitignore` file. + +```json +{ + "sourceIgnores": ["coverage/", "*.log", "fixtures/private/"] +} +``` + +Patterns are relative to the project root. Some paths, including `node_modules/`, `.env`, and `.git/`, are always excluded. + +### Development configuration + +Configure development settings: + +```json +{ + "dev": { + "subreddit": "my-test-subreddit" + } +} +``` + +**Properties:** + +- `subreddit` (string): Default development subreddit (can be overridden by `DEVVIT_SUBREDDIT` env var) + +## Validation rules + +The Devvit CLI validates `devvit.json` against the JSON Schema before playtest, upload, and publish operations. Many IDEs will also underline errors as you write. Common validation errors include: + +- **JSON Syntax:** Adding comments or trailing commas (unsupported by JSON) +- **Required Properties:** Missing the required `name` property +- **App Components:** Missing at least one of `post` or `server` +- **Dependencies:** Missing `server` when `triggers` is specified +- **File References:** Missing files referenced in `devvit.json` +- **Permissions:** Missing required permissions for used features +- **Pattern Validation:** Invalid patterns for names, paths, or endpoints + +## Best practices + +1. **Always include the `$schema` property** for IDE autocompletion and validation. +2. **Use specific permission scopes.** Only request permissions your app actually uses. +3. **Set appropriate menu scopes.** Consider whether features should be available to all users or just moderators. +4. **Validate endpoints.** Ensure all internal endpoints start with `/internal/`. +5. **Use meaningful names.** Choose descriptive names for entrypoints, tasks, and forms. +6. **Test configurations.** Use `devvit playtest` during development; `devvit playtest`, `devvit upload`, and `devvit publish` validate the configuration before packaging. + +## Environment variables + +- `DEVVIT_SUBREDDIT`: Override the `dev.subreddit` value used during `devvit playtest`. +- `DEVVIT_APP_NAME`: Override the `name` value used during `devvit playtest` (and other similar commands). + +## Complete example + +```json title="devvit.json" +{ + "$schema": "https://developers.reddit.com/schema/config-file.v1.json", + "name": "my-awesome-app", + "post": { + "dir": "public", + "entrypoints": { + "default": { + "entry": "index.html", + "height": "tall" + } + } + }, + "server": { + "dir": "dist/server", + "entry": "index.js" + }, + "permissions": { + "http": { + "enable": true, + "domains": ["api.example.com"] + }, + "redis": true + }, + "triggers": { + "onPostCreate": "/internal/triggers/post-create" + }, + "menu": { + "items": [ + { + "label": "Approve", + "forUserType": "moderator", + "location": "post", + "endpoint": "/internal/menu/approve" + } + ] + }, + "scheduler": { + "tasks": { + "daily-cleanup": { + "endpoint": "/internal/cron/cleanup", + "cron": "0 2 * * *" + } + } + }, + "marketingAssets": { + "icon": "assets/icon.png" + }, + "dev": { + "subreddit": "my-test-sub" + }, + "scripts": { + "dev": "vite build --watch", + "build": "vite build" + } +} +``` diff --git a/versioned_docs/version-0.14/capabilities/devvit-web/devvit_web_overview.mdx b/versioned_docs/version-0.14/capabilities/devvit-web/devvit_web_overview.mdx new file mode 100644 index 00000000..6db6ba3c --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/devvit-web/devvit_web_overview.mdx @@ -0,0 +1,97 @@ +import DevvitWebArch from "../../assets/devvit_web/devvit_web_arch.png"; + +# Devvit Web + +Devvit Web includes an easy way to build Devvit apps using a standard web stack. + +## What it is + +Devvit Web allows developers to build Devvit apps just like you would for the web. At the core, Devvit Web provides: + +- **A standard web app** that allows you to build with industry-standard frameworks and technologies (like React, Three.js, or Phaser). +- **Server endpoints** that you define to communicate between the webview client and the Devvit server, using industry-standard frameworks and technologies (like Express.js, Hono, Koa, etc.). +- **Devvit configuration** with a traditional client/server split. Devvit capabilities are now in one of three places: + - A configuration file in devvit.json for defining app metadata, permissions, and capabilities + - Client capabilities in the @devvit/client SDK + - Server capabilities, like Redis and Reddit API with the @devvit/server SDK + +With Devvit Web, you have continued access to our hosting services, key capabilities like Redis and Reddit API, standard web technologies, and a typical client/server pattern to build your apps. + +In addition, since you’re working with standard web technologies your apps should work with AI tools more effectively. + +## Examples + +Visit [https://developers.reddit.com/new](https://developers.reddit.com/new) and choose one of our templates or take a look at the github repositories: + +- [React](https://github.com/reddit/devvit-template-react) +- [Phaser](https://github.com/reddit/devvit-template-phaser) +- [Three.js](https://github.com/reddit/devvit-template-threejs) +- [Hello World](https://github.com/reddit/devvit-template-hello-world) + +## Limitations + +As with most experimental features, there are some caveats. + +| Limitation | What it means | +| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Serverless endpoints | The node server will run just long enough to execute your endpoint function and return a response, which means you can't use packages that require long-running connections like streaming. | +| Package limitations | Developers cannot use `fs` or external native packages. For now, we recommend using external services over native dependencies. | +| Single request and single response handling only | Streaming or chunked responses and websockets are not supported. Long-polling is supported if it's under the max request time. | +| No external requests from your client | You can't have any external requests other than the app's webview domain. All backend responses are locked down to the webview domain via CSP. (Your backend can make external fetch requests though.) | +| localStorage clears on app updates | The iframe URL changes with each app version, so `localStorage` data is lost when you publish an update. Use [Redis](../server/redis.mdx) for data that needs to persist across app versions. | + +Devvit Web still has the same technical requirements: + +- Server endpoint calls +- Max request time: 30s +- Max payload size: 4MB +- Max response size: 10MB +- HTML/CSS/JS only + +## Devvit Web components + +Devvit Web uses endpoints between the client and server to make communication similar to standard web apps. A Devvit Web app has three components: + +- Client +- Server +- Configuration + +Devvit Web templates all have the same file structure: + +```text +. +├── src/ +│ ├── client/ # contains the webview code +│ └── server/ # endpoints for the client +└── devvit.json # the devvit config file +``` + +Your client talks to the server by calling `/api/` endpoints you define with `fetch()`. + +### Client folder + +This folder includes client-side code. This includes any html/css/javascript and relevant web libraries, and it will appear in a webview inside of a post for Reddit users. + +When you want to make server-side calls, or use server-side capabilities, you’ll use fetch and define what happens in your server folder. + +### Server folder + +This folder includes server-side code. We provide a node server, and you can use typical node server frameworks like Hono, Koa, or Express. This is where you can access key capabilities like [Redis](../server/redis.mdx), Reddit API client, and [fetch](../server/http-fetch.mdx). + +We also provide an authentication middleware so you don’t have to worry about authentication. + +:::note +All server endpoints must start with `/api/` (e.g. `/api/get-something` or `/api/widgets/42`). +::: + +devvit web architecture + +### Configuration in `devvit.json` + +`devvit.json` is the configuration file for Devvit apps. It defines an app's post configuration, Node.js server configuration, permissions, scheduled jobs, event triggers, menu entries, payments configuration, and project settings. `devvit.json` replaces the legacy `devvit.yaml` configuration. A project should have one or the other but not both. + +Learn more about [devvit.json](./devvit_web_configuration.md) diff --git a/versioned_docs/version-0.14/capabilities/http-fetch.md b/versioned_docs/version-0.14/capabilities/http-fetch.md new file mode 100644 index 00000000..71971442 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/http-fetch.md @@ -0,0 +1,219 @@ +# HTTP Fetch + +Make requests to allow-listed external domains. + +Your Devvit app can make network requests to access allow-listed external domains using HTTP Fetch. This enables your app to leverage webhooks, personal servers, and other third-party integrations asynchronously across the network. + +## Enabling HTTP fetch calls + +devvit.json + +``` + +{ + ... + "permissions": { + "http": { + "enable": true, + "domains": ["my-site.com", "another-domain.net"] + } + } +} +``` + +### Requesting a domain to be allow-listed + +:::note +If you're porting a Data API app as part of our [App Migration Programs](https://www.reddit.com/r/Devvit/comments/1sgwkm7/bring_your_data_api_apps_to_devvit_and_details/) you may be eligible for special fetch domain exceptions. Please message us at r/Devvit with which Data API app you are migrating, and which domains you need access to. Our App Review team will provide exemptions for program participants. +::: + +Apps may request a domain to be added to the allow-list by specifying domains in the http configuration. This configuration is optional, and apps can still configure http: true as before. + +Requested domains will be submitted for review when you playtest or upload your app. Most domain requests are reviewed within **1–2 business days**, though requests with policy ambiguity may take longer. Admins may approve or deny domain requests. + +Domain entries must be exact hostnames only, such as nytimes.com or wikipedia.org. These fetch requests are not allowed: + +- Be specific. No using \*.example.com when you need api.example.com +- No wildcards: \*.example.com +- No protocols: https://api.example.com +- No paths: api.example.com/webhooks + +Domains that are approved for your app will be displayed in the Developer Settings section for your app at `https://developers.reddit.com/apps/{your-app-slug}/developer-settings`. These domains are allow-listed for **your app only** and not globally. + +Apps must request each individual domain that it intends to fetch, even if the domain is already globally allowed. See the [global fetch allowlist](#global-fetch-allowlist) to view the list of globally allowed domains. + +## Limitations + +- Access is only allowed to https URIs. +- Supported HTTP methods: GET, POST, PUT, DELETE, OPTIONS and PATCH. +- HTTP timeout limit is 30 seconds. + +## Example usage + +Devvit Web applications have two different contexts for using fetch: + +### Server-side fetch + +Server-side fetch allows your app to make HTTP requests to allowlisted external domains from your server-side code (e.g., API routes, server actions): + +server/index.ts + +``` + +const response = await fetch('https://example.com/api/data', { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, +}); + +const data = await response.json(); +console.log('External API response:', data); +``` + +### Client-side fetch + +Client-side fetch has different restrictions: + +- **Domain limitation**: Can only make requests to your own webview domain +- **Endpoint requirement**: All requests must target endpoints that start with /api/ +- **Authentication**: Handled automatically \- no need to manage auth tokens +- **No external domains**: Cannot make requests to external domains from client-side code + client/index.ts + +``` + +const handleFetchData = async () => { + // ✅ Correct: Fetching your own webview's API endpoint + const response = await fetch("/api/user-data", { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }); + + const data = await response.json(); + console.log("API response:", data); +}; + +// ❌ Incorrect: Cannot fetch external domains from client-side +// const response = await fetch('https://external-api.com/data'); + +// ❌ Incorrect: Endpoint must start with /api/ +// const response = await fetch('/user-data'); +``` + +## Troubleshooting + +The following error means HTTP Fetch requests are hitting the internal timeout limits. + +``` +HTTP request to domain: timed out with error: context deadline exceeded. +``` + +To resolve this: + +- Use a queue or kick off an async request in your back end. You can use [Scheduler](https://developers.reddit.com/docs/capabilities/server/scheduler) to monitor the result. +- Optimize the overall HTTP request latency if you have a self-hosted server. + +## Global fetch allowlist + +These domains are globally allowed and can be fetched by any app. + +- api.openai.com +- generativelanguage.googleapis.com +- example.com +- site.api.espn.com +- cdn.espn.com +- discord.com +- api.polygon.io +- api.massive.com +- polygon.io +- slack.com +- lichess.org +- api.telegram.org +- commentanalyzer.googleapis.com +- language.googleapis.com +- statsapi.mlb.com +- api.scryfall.com +- api.nasa.gov +- api.sportradar.us +- api.sportradar.com +- random.org +- youtube.googleapis.com +- api.weather.gov +- wikipedia.org +- finance.yahoo.com +- api.twitter.com +- api.petfinder.com +- fonts.googleapis.com +- nytimes.com +- npr.org +- propublica.org +- pbs.org +- i.giphy.com +- chessboardjs.com + +## HTTP Fetch Policy + +Allow-listed domains fall into three categories: + +1. **APIs that provide data or specific services** (e.g., api.openai.com, api.wikipedia.org) \- These will be approved if they have a **publicly documented and publicly accessible API** for valid use cases, and if they adhere to the Devvit rules. Please reference our AI providers and account linking policies for common invalid use cases. +2. **Limited scope cloud providers** (e.g., username.supabase.com, my-app.firebase.com) \- May be granted with exceptions. You must: + - Follow user privacy guidelines and data governance requirements + - Use an approved provider from the list below (please include your subdomain, and request for the most granular domain possible, e.g. my-app.s3.amazonaws.com) + - supabase.com + - firebase.com + - spacetimedb.com + - s3.amazonaws.com + - storage.googleapis.com + - Demonstrate a capability that @devvit/server doesn't support + - Valid use cases include relational databases + - Note: Approval can be revoked at any time +3. **Personal domains** (e.g., personaldomain.com) \- Will not be approved. If you have a use case that our Devvit server does not support, please submit your request with detailed justification for a possible exception. + +### AI providers + +At this time, OpenAI and Google Gemini are the only allowed providers: + +- api.openai.com +- generativelanguage.googleapis.com + +Requests to use any other AI provider will be denied. + +### Documentation requirements + +If your app uses fetch domains, add this context to your app's [README](../devvit_rules.md#app-readme-requirements) for the approval process: + +1. Create a "Fetch Domains" section in your [README](../devvit_rules.md#app-readme-requirements) +2. List each domain you're requesting and explain why you need it +3. Ensure your usage complies with our fetch guidelines + +Example Fetch Domains section: + +``` + +## Fetch Domains + +The following domains are requested for this app: + +- `api.wikipedia.org` - Used to fetch article summaries for the knowledge base feature +- `username.supabase.com` - Required for relational database storage of user preferences (Devvit KV store doesn't support complex queries needed for this feature) +``` + +### Domain requirements + +Domain entries must be exact hostnames only, such as nytimes.com or wikipedia.org. In addition: + +- Be specific. No using \*.example.com when you need api.example.com +- No wildcards: \*.example.com +- No protocols: https://api.example.com +- No paths: api.example.com/webhooks + +Domains that are approved for your app are displayed in the Developer Settings section for your app at `https://developers.reddit.com/apps/{your-app-slug}/developer-settings`. These domains are allow-listed for **your app only** and not globally. + +Apps must request each individual domain that it intends to fetch, even if the domain is already globally allowed. See the [global fetch allowlist](#global-fetch-allowlist) to view the list of globally allowed domains. + +### Terms and conditions + +Any app that uses fetch must upload Terms and Conditions and a Privacy Policy. Links to each of these documents must be saved in the app details form. diff --git a/versioned_docs/version-0.14/capabilities/interactive-posts/interactive_posts_overview.mdx b/versioned_docs/version-0.14/capabilities/interactive-posts/interactive_posts_overview.mdx new file mode 100644 index 00000000..0ce3cc7f --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/interactive-posts/interactive_posts_overview.mdx @@ -0,0 +1,118 @@ +import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; + +# Overview +Interactive posts are the core of Reddit Dev Platform apps, enabling rich, engaging experiences that go beyond static content. There are three essential features for creating an interactive post using the Reddit API : + +1. First Screen Customization +2. Post Data +3. User Actions + +## Create an interactive post +Use reddit.submitCustomPost() from the Reddit library. You’ll want to call this function in response to an action like a user submission, trigger, or menu item. + +## Devvit Web + +```tsx +// in server code + +import { reddit, context } from '@devvit/web/server' + +export const createPost = async () => { + const { subredditName } = context; + if (!subredditName) { + throw new Error('subredditName is required'); + } + + return await reddit.submitCustomPost({ + subredditName: subredditName, + title: 'test-post-flair', + entry: 'default' + }); +}; + +// example action in our templates +// Then, in your devvit.json: +/* + "menu": { + "items": [ + { + "label": "Create a new post", + "description": "test-post-creator", + "location": "subreddit", + "forUserType": "moderator", + "endpoint": "/internal/menu/post-create" + } + ] + }, + "triggers": { + "onAppInstall": "/internal/on-app-install" + }, +*/ + ``` + + ### 🎨 First Screen Customization + +Control what users see when they first encounter your post. Choose between: +- **Splash screens**. A configurable splash screen with a clear call-to-action button, ideal for MVP-stage apps or those benefiting from immersive experiences with longer load times. +- **Inline web views (Experimental)**. Interactive experiences that load directly in posts for instant-interaction apps or dynamic first screens. This is especially beneficial for developers comfortable optimizing web performance across all devices but is subject to more guidelines and longer approval cycles. + +:::tip +Start simple with a splash screen, then move towards inline web views as your app grows and you want to optimize engagement. +::: + +Learn more about [First Screen Customization](../server/launch_screen_and_entry_points/launch_overview). + +### 💾 Post Data + Attach up to 2KB of JSON data directly to your post for instant client-side access. Perfect for: + +- Game states and scores +- Configuration settings +- Small shared data that all users need to see + +For larger amounts of data, you should use [Redis](../server/redis). Learn more about Post Data + + +### 👤 User Actions + +Enable your app to perform actions on behalf of users (with their permission): + +- Create posts or comments as the user +- Subscribe users to subreddits (coming soon) + +Learn more about [User Actions](../server/userActions) + +## Example + +Here's a complete example using all three features together: + +```ts title="server/index.ts" +import { reddit, context } from '@devvit/web/server'; +// Create an interactive post with all features + +const post = await reddit.submitCustomPost({ + subredditName: context.subredditName!, + title: 'Interactive Game Post', + + // First Screen Customization (splash screen) + splash: { + appDisplayName: 'Number Guessing Game', + backgroundUri: 'game-bg.png', + buttonLabel: 'Start Playing', + description: 'Can you guess the secret number?', + heading: 'Welcome to the Challenge!' + }, + + // Post Data for game state + postData: { + secretNumber: Math.floor(Math.random() * 100) + 1, + totalGuesses: 0, + gameState: 'active', + winner: null + } +}); + +// Later, update post data when someone wins +const updatedPost = await reddit.getPostById(post.id); await updatedPost.setPostData({ ...context.postData, gameState: 'completed', winner: currentUsername, totalGuesses: context.postData.totalGuesses + 1 }); + +// Create a comment as the user announcing their win await reddit.submitComment({ runAs: 'USER', id: post.id, text: 🎉 ${currentUsername} won the game! }); +``` diff --git a/versioned_docs/version-0.14/capabilities/notifications/adding-streaks.md b/versioned_docs/version-0.14/capabilities/notifications/adding-streaks.md new file mode 100644 index 00000000..1a56b793 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/notifications/adding-streaks.md @@ -0,0 +1,768 @@ +# Adding Streaks + +Streaks are valuable to app developers because they turn occasional use into habitual behavior. By rewarding consecutive days of activity, streaks increase retention, strengthen user identity and investment in the app, and make push notifications more effective through loss aversion (“don’t break your streak”). For devs, that usually translates into higher engagement, lower churn, and better long-term monetization. + +![Streak PN](../../assets/notifications/visible-progress.png) + +:::note +This is currently an experimental feature, and you'll need to [apply](../notifications/notifications-overview.md#how-to-apply) for a spot in our beta program to implement push notifications in your app. +::: + +## **Recommended streak logic** + +This section explains how streaks work in [Syllo](https://www.reddit.com/r/syllo/) in a practical, implementation-focused way. + +### TL;DR + +- A streak is tracked as one bit per day in Redis. +- The bit is set when a logged-in user completes a puzzle and the server receives `completionTimeMs`. +- The streak day is based on the puzzle post's creation date in UTC, not the client device clock. +- The current streak is calculated by walking backward through consecutive completed days. + +### Mental model + +You can think of streaks as a yearly attendance sheet: + +- one Redis key per user per year: `streaks::` +- each day in the year maps to an index, where `0 = Jan 1` +- `1` means the user completed at least one eligible puzzle that day +- `0` means they did not + +### End-to-end flow + +#### 1\. User finishes a puzzle in the client + +When all words are solved, the client sends a completion call: + +```ts +// src/client/Game.tsx +verifyWordsMutation.mutate({ + problemId: problemData.problemId, + sessionId: problemData.analyticsSessionId, + submissions: [], + completionTimeMs: timerState.elapsedTime, +}); +``` + +#### 2\. Server records completion and updates streak state + +`verifyWords` handles completion, updates related stats, and then calls `setStreakCompletion`: + +```ts +// src/server/routes/trpc.ts (verifyWords mutation) +if (completionTimeMs && typeof completionTimeMs === "number" && userId) { + const now = new Date(); + await setUserCompletion(userId, postId, completionTimeMs); + await incrementPlayerCount(postId); + await addToLeaderboard(postId, userId, completionTimeMs); + await updateAverageCompletionTime(postId, completionTimeMs); + await setStreakCompletion({ userId, date: now, postId }); +} +``` + +#### 3\. Streak service maps completion to a day bit + +The service looks up the Reddit post and uses the post creation date to determine the year and day index: + +```ts +// src/server/services/streakService.ts +const post = await reddit.getPostById(postId); +const postCreatedAtDate = new Date(post.createdAt); +const year = postCreatedAtDate.getUTCFullYear(); +const dayOfYear = getDayOfYear(postCreatedAtDate); +await setStreakCompletionBit(userId, dayOfYear, year, completed); +``` + +#### 4\. Bit is written in Redis + +```ts +// src/server/redisService.ts +const streaksKey = (userId: string, year: number) => + `streaks:${userId}:${year}`; + +export async function setStreakCompletionBit( + userId: string, + offset: number, + year: number, + completed: boolean, +) { + UserIdSchema.parse(userId); + const key = streaksKey(userId, year); + await redis.bitfield(key, "set", "u1", offset, completed ? 1 : 0); +} +``` + +#### 5\. Client reads and displays the streak + +```ts +// src/client/Game.tsx +const { data: streakData } = useQuery( + trpc.getStreak.queryOptions(undefined, { enabled: !!context.userId }) +); + +
+ +``` + +### How current streak is calculated + +`getCurrentStreak(userId)` in `src/server/services/streakService.ts` works like this: + +1. Load the current year's bitset. +2. Start from today if today is completed; otherwise start from yesterday. +3. Count backward until the first day that is not completed. +4. If needed, continue into the previous year. + +Core loop: + +```ts +for (let i = dayToStartChecking; i >= 0; i--) { + if (isBitSet(currentYearBuffer, i)) { + currentStreak++; + } else { + break; + } +} +``` + +#### Full code for `getCurrentStreak()` + +```ts +/** + * Calculates the current streak using your custom client's getBuffer method. + */ +export async function getCurrentStreak(userId: string): Promise { + const today = new Date(); + const year = today.getUTCFullYear(); + const dayOfYear = getDayOfYear(today); + + // Call your client's getBuffer method. The result is `Buffer | undefined`. + const currentYearData = await getYearStreakBuffer(userId, year); + // The isBitSet helper expects `Buffer | null`, so we convert `undefined` to `null`. + const currentYearBuffer = currentYearData ?? null; + + let currentStreak = 0; + let dayToStartChecking = dayOfYear; + + if (!isBitSet(currentYearBuffer, dayOfYear)) { + dayToStartChecking = dayOfYear - 1; + } + + for (let i = dayToStartChecking; i >= 0; i--) { + if (isBitSet(currentYearBuffer, i)) { + currentStreak++; + } else { + break; + } + } + + // Handle cross-year streaks + // Case A: It's Jan 1 and user hasn't played today -> continue into prior year directly + if (dayToStartChecking < 0) { + const priorYear = year - 1; + const priorYearData = await getYearStreakBuffer(userId, priorYear); + const priorYearBuffer = priorYearData ?? null; + + if (priorYearBuffer) { + const isLeap = new Date(priorYear, 1, 29).getDate() === 29; + const lastDayOfPriorYear = isLeap ? 365 : 364; + + for (let i = lastDayOfPriorYear; i >= 0; i--) { + if (isBitSet(priorYearBuffer, i)) { + currentStreak++; + } else { + break; + } + } + } + } + // Case B: Current year is fully contiguous from day 0 to dayToStartChecking + else if (currentStreak > 0 && currentStreak === dayToStartChecking + 1) { + const priorYear = year - 1; + const priorYearData = await getYearStreakBuffer(userId, priorYear); + const priorYearBuffer = priorYearData ?? null; + + if (priorYearBuffer) { + const isLeap = new Date(priorYear, 1, 29).getDate() === 29; + const lastDayOfPriorYear = isLeap ? 365 : 364; + + for (let i = lastDayOfPriorYear; i >= 0; i--) { + if (isBitSet(priorYearBuffer, i)) { + currentStreak++; + } else { + break; + } + } + } + } + + return currentStreak; +} +``` + +### Important edge cases + +#### Multiple posts on the same day + +If one post is completed and another is not, the day should not be accidentally cleared. + +The service avoids clearing an already completed day in this mixed-result scenario: + +```ts +if (completed === false) { + return; +} +``` + +#### Old posts should not affect today's streak + +Updates for older posts are skipped during normal gameplay: + +```ts +const diffTime = Math.abs(now.getTime() - postCreatedAtDate.getTime()); +const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 26)); +if (diffDays > 1) { + return; +} +``` + +#### Cross-year streak continuity + +Streaks can continue from Dec 31 into Jan 1 in two cases: + +- Jan 1 is unplayed, so counting continues from the prior year tail. +- The current year is contiguous from day 0 through the current check day. + +```ts +if (dayToStartChecking < 0) { + // Jan 1 not played -> continue into prior year +} else if (currentStreak > 0 && currentStreak === dayToStartChecking + 1) { + // current year contiguous from day 0 -> continue into prior year +} +``` + +### API surface + +#### `getStreak` + +- Route: `src/server/routes/trpc.ts` +- Returns: current streak number for the logged-in user +- Used by: header and splash in the client + + #### `getStreakDetails` + +- Route: `src/server/routes/trpc.ts` +- Returns: + - `streak`: current streak + - `bestStreak`: longest streak in the current year + - `totalSolved`: number of completed days in the current year + +### Recommended test coverage + +Cover at least the following streak scenarios: + +- user has not played and returns `0` +- standard backward counting from today or yesterday +- Jan 1 cross-year behavior +- same-day multi-post safety behavior +- completion-day set behavior +- total solved days and longest streak calculations + Example: + +```ts +const year = now.getUTCFullYear(); +const today = getDayOfYear(now); +await setStreakCompletionBit(userId, today, year, true); +await setStreakCompletionBit(userId, today - 1, year, true); + +const streak = await getCurrentStreak(userId); +expect(streak).toBe(2); +``` + +### Practical summary + +- A streak day is represented by a single bit in a yearly Redis bitset. +- Completion writes happen in `verifyWords` when the puzzle is fully solved. +- Day identity is tied to the puzzle post date in UTC, not the client device day. +- Current streak is calculated from backward-consecutive completed days, with explicit cross-year handling. + +### Troubleshooting checklist + +If a streak looks wrong, check these in order: + +1. Did completion reach `verifyWords` with both `completionTimeMs` and `userId`? +2. Did `setStreakCompletion` run with a valid `postId`? +3. What is the post's `createdAt` value? This determines the day and year. +4. Does the Redis key `streaks::` have the expected bit set? +5. Is the issue near Jan 1, where cross-year logic applies, or from an old post attempt? + +## **LLM prompt** + +This is exciting new ground for us\! You can try out this prompt as a flexible starting point for implementing streak systems in your app. However, because implementations vary widely across games and backends, **we aren’t able to provide integration support or troubleshooting for custom setups**. + + + +
+Copy-paste the prompt + +\--- START COPY-PASTE PROMPT \--- + +You are a senior Devvit engineer. Add a robust daily streak system and a streak-aware push notification campaign to this Devvit app. + +The goal is to implement the feature in this repo's existing style, not to copy file names or UI from another app. Be opinionated about the underlying mechanics: + +- Use Redis as the source of truth for daily streak days. +- Use server-side completion as the only authority for awarding streak credit. +- Use Devvit's notifications API for all push notification behavior. Do not implement a custom push provider, browser push subscription, webhook-based sender, or parallel notification system. +- Use Devvit's notification opt-in APIs as the only source of truth for push subscription state. +- Use a batched scheduler job for push campaigns so large recipient lists do not run in one request. +- Keep the notification UX app-specific: expose methods that the client can call, but do not invent a full opt-in screen unless this app already has an obvious place for it. + +**First Inspect The Target Repo** + +Before writing code, inspect the target app and identify: + +- Server entrypoint and router setup. +- Existing Redis helper module, if any. +- Existing tRPC, REST, or server action layer used by the webview. +- Existing game/content completion mutation or event. +- Existing scheduler configuration in `devvit.json`. +- Existing tests and test style. +- Existing client API utilities. +- Existing notification usage, if any. + +After inspection, implement using the repo's local patterns. Suggested module names are `streakService`, `notificationService`, `schedulerRoutes`, and `redisService`, but only use them if they fit the repo. + +Before coding, produce a short implementation mapping in your working notes or response: + +- `COMPLETION_EVENT`: where completion is validated server-side. +- `CONTENT_ID`: the newly created daily Reddit post id, if this app creates daily posts. Use this as the notification link target. If the app does not create daily posts, use the stable content id or route that opens today's playable item. +- `CONTENT_CREATED_AT`: the daily Reddit post's `createdAt`, if this app creates daily posts. Fetch it server-side or persist it when the post is created. If the app does not create daily posts, use a server-written `createdAt` timestamp stored with the daily content metadata. +- `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK`: ask the developer before coding whether completions of older/archive content should count for streaks. Do not assume this value. +- `REDIS_HELPERS`: where Redis access should live. +- `STREAK_APIS`: where `getStreak` and optional `getStreakDetails` should be exposed. +- `PUSH_OPT_IN_APIS`: where `getPushState` and `setPushState` should be exposed. +- `SCHEDULER_CONFIG`: where the `pn` scheduler task should be registered. +- `SCHEDULER_ENDPOINT`: where the push campaign endpoint should live. +- `TEST_LOCATIONS`: where streak, notification, and scheduler tests should be added. + +If the completion event cannot be identified with high confidence, stop and ask for clarification before editing. Before writing code, also ask the developer to choose `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK: true` or `false` unless they already provided that answer. For content id and timestamp, use the defaults above before asking. + +**App-Specific Values To Fill In** + +Use these defaults unless the target app clearly works differently: + +- `COMPLETION_EVENT`: the server-side event/mutation that means a user completed a playable daily item. +- `CONTENT_ID`: default to the Reddit post id for the newly created daily content. This should be a runtime value that changes whenever new daily content is created. In Syllo, each newly posted puzzle schedules its notification with that new Reddit post id. +- `CONTENT_CREATED_AT`: default to that Reddit post's `createdAt`. When recording streak completion, fetch the post by `CONTENT_ID` server-side and use `post.createdAt`, or use the same `createdAt` value persisted during post creation. Do not use the client clock or completion request timestamp. +- `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK`: ask before starting. If `true`, completing older/archive content records the streak bit for that content's UTC day. If `false`, only current daily content can award streak credit. +- `NEW_CONTENT_NOTIFICATION_DELAY_MS`: default to 60 minutes after content is posted unless the app has a better time. +- `STREAK_NOTIFICATION_TITLE`: example, `Today's challenge is ready!`. +- `STREAK_NOTIFICATION_BODY`: example, `Play now to keep your {{streak}}-day streak alive.` +- `NON_STREAK_NOTIFICATION_BODY`: example, `Jump back in and play today's challenge.` + +**Default Content Identity Rules** + +For most Devvit games, the notification target and streak day should come from the same daily content object: + +- If the app creates one Reddit post per daily game/challenge, use that post id as `CONTENT_ID`. +- Schedule the notification immediately after creating that post, passing `params: { link: post.id }`. +- When a user completes the game, use the current `postId`/`CONTENT_ID` to fetch the post server-side and anchor the streak bit to `post.createdAt`. +- If the app stores daily content metadata in Redis when it posts content, it is also fine to persist `{ contentId, createdAt }` then reuse that server-written `createdAt`. +- Only if the app has no per-day Reddit post should you fall back to a stable app route or stored daily-content id, with a server-written `createdAt` timestamp. + +**Architecture To Implement** + +Implementation flow: + +1. When daily content is created, schedule a `pn` job for the new-content notification. +2. When a user completes content, validate completion server-side. +3. Record the streak bit for the content's canonical UTC day. +4. When the `pn` job runs, page opted-in users. +5. For each opted-in user, compute current streak from Redis. +6. Split recipients into streak and non-streak groups. +7. Enqueue templated notifications with the content link. + +**Redis Data Model** + +Implement daily streak storage as one Redis bitmap per user per UTC calendar year. This is the same storage shape Syllo uses: a key is scoped to both `userId` and `year`, and each bit in that year's value represents whether the user completed the canonical content for one UTC day. + +Use the repo's existing Redis naming style, but default to a versioned key: + +```ts +const STREAK_VERSION = 1; +const streaksKey = (userId: string, year: number) => + `${STREAK_VERSION}:streaks:${userId}:${year}`; +``` + +Store one bit per UTC day-of-year: + +- Jan 1 is bit `0`. +- Dec 31 is bit `364` in non-leap years. +- Dec 31 is bit `365` in leap years. +- Use Redis `BITFIELD` with `u1` values. +- Read full-year state as a `Buffer` for efficient streak calculation. + +Implement helpers equivalent to: + +```ts +export function getDayOfYear(date: Date): number { + const year = date.getUTCFullYear(); + const start = Date.UTC(year, 0, 1); + const current = Date.UTC(year, date.getUTCMonth(), date.getUTCDate()); + return Math.floor((current - start) / 86_400_000); +} + +export function isBitSet(buffer: Buffer | null, bitIndex: number): boolean { + if (!buffer || bitIndex < 0) return false; + const byteIndex = Math.floor(bitIndex / 8); + if (byteIndex >= buffer.length) return false; + const bitWithinByte = bitIndex % 8; + const byte = buffer[byteIndex]!; + return (byte & (1 << (7 - bitWithinByte))) !== 0; +} +``` + +Implement Redis helpers: + +- `setStreakCompletionBit(userId, dayIndex, year, completed)`. +- `getStreakCompletionBit(userId, dayIndex, year)`. +- `getYearStreakBuffer(userId, year)`. + +Validate `userId`, `year`, and `dayIndex` according to the target repo's validation style before touching Redis. + +**Streak Service Behavior** + +Implement a streak service with these behaviors. + +`recordStreakCompletion` + +Record streak credit only from the server-side completion path. + +Recommended signature: + +```ts +type RecordStreakCompletionInput = { + userId: string; + contentId: string; + contentCreatedAt: Date; + completed?: boolean; + force?: boolean; +}; +``` + +Rules: + +- Default `completed` to `true`. +- If `force !== true` and `completed === false`, do nothing. A failed/incomplete action must not clear a day that was already earned. +- Anchor the streak day to `contentCreatedAt` in UTC, not to the user's device clock or request timestamp. +- Make the write idempotent. Setting the same bit to `1` multiple times must be safe and must not create duplicate counts. +- Respect `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK`. If `true`, completing content from three days ago sets the bit for that content's UTC day. If `false`, older/archive content should not award streak credit. +- `force` should be reserved for admin/backfill/repair paths. + +`getCurrentStreak` + +Current streak should be forgiving for daily content: + +- A user with no completed streak-worthy days must have streak `0`. Do not initialize new users to `1`. +- After the user's first streak-worthy completion, the streak should become `1`. +- If the user has played today, count backward from today. +- If the user has not played today, count backward from yesterday. This lets a user keep a visible streak alive during the day before they play. +- Continue counting through contiguous set bits. +- Bridge from Jan 1 into the prior year's bitmap when the current-year prefix is contiguous. +- Correctly handle leap years. + +`getTotalPlaysForYear` and `getLongestStreakForYear` + +Implement these if the app displays profile stats: + +- `getTotalPlaysForYear(userId, year = currentUTCYear)`. +- `getLongestStreakForYear(userId, year = currentUTCYear)`. + +Do not overbuild all-time stats unless the app needs them. + +**Completion Hook** + +Find the target app's server-side completion mutation/event. After the app has verified that the user truly completed streak-worthy content, call `recordStreakCompletion`. + +The streak write should happen near the app's existing completion writes, such as progress, score, leaderboard, or analytics updates. + +Recommended order: + +1. Validate `userId` and content id. +2. Validate completion server-side. +3. Persist the app's normal completion state. +4. Record the streak completion. +5. Return the updated state or allow the client to refetch streak state. + +Do not record streaks from a client-only event. + +**Streak APIs** + +Expose server APIs in the target app's API style: + +- `getStreak`: returns the current user's numeric streak. +- `getStreakDetails`: returns `{ streak, bestStreak, totalSolved }` if the app needs profile stats. + +The client can display these wherever appropriate, but do not create app-specific UI unless requested. + +**Push Opt-In API Wrappers** + +Use Devvit notifications as the source of truth. This implementation must use Devvit's notifications API from the Devvit SDK, not a custom push system. If the target repo imports directly from `@devvit/notifications`, use that package. In Devvit web server apps, the same API is commonly exposed as `notifications` from `@devvit/web/server`: + +```ts +import { notifications } from "@devvit/web/server"; + +export async function setPushNotificationState(input: { pushState: boolean }) { + if (input.pushState) { + await notifications.optInCurrentUser(); + } else { + await notifications.optOutCurrentUser(); + } +} +``` + +Expose API methods in the target app's style: + +- `getPushState`: calls `notifications.isOptedIn(userId)` and returns `{ pushState: boolean }`. +- `setPushState`: calls `notifications.optInCurrentUser()` or `notifications.optOutCurrentUser()`. + +Do not store a separate Redis opt-in boolean. The app can build any opt-in UX around these methods: post-win prompt, settings toggle, onboarding prompt, profile button, or menu action. + +**Streak-Aware Push Campaign** + +Implement one campaign for new daily content or "play again" notifications. + +Use only Devvit's notifications API for sending: + +- `notifications.listOptedInUsers` to page the Devvit opted-in audience. +- `notifications.enqueue` to send push notifications. +- Per-recipient `data` for template placeholders. + +Do not add service workers, browser Push API subscriptions, external push vendors, custom device-token storage, custom Redis opt-in lists, or app-owned notification delivery queues. + +Behavior: + +- Page opted-in users with `notifications.listOptedInUsers`. +- For each recipient, compute `getCurrentStreak(userId)` server-side. +- Split recipients into two groups: + - `streak > 0`: receive streak-preserving copy with template data `{ streak: String(streak) }`. + - `streak === 0`: receive generic return-to-play copy. +- Enqueue with `notifications.enqueue`. +- Use per-recipient `data` for template placeholders like `{{streak}}`. +- Include the canonical content/post link in each recipient. + +Recommended campaign handler shape: + +```ts +type CampaignResult = { + done: boolean; + cursor: string; +}; + +async function sendNewContentNotification(input: { + cursor: string; + count: number; + link: string; +}): Promise { + const results = await notifications.listOptedInUsers({ + after: + input.cursor.trim() === "" || input.cursor === "0" + ? undefined + : input.cursor, + limit: Math.min(1000, Math.max(1, input.count)), + }); + + const streakRecipients = []; + const freshRecipients = []; + + for (const userId of results.userIds) { + const streak = await getCurrentStreak(userId); + if (streak > 0) { + streakRecipients.push({ + userId, + link: input.link, + data: { streak: String(streak) }, + }); + } else { + freshRecipients.push({ + userId, + link: input.link, + data: {}, + }); + } + } + + await Promise.allSettled([ + streakRecipients.length > 0 && + notifications.enqueue({ + title: STREAK_NOTIFICATION_TITLE, + body: STREAK_NOTIFICATION_BODY, + recipients: streakRecipients, + }), + freshRecipients.length > 0 && + notifications.enqueue({ + title: STREAK_NOTIFICATION_TITLE, + body: NON_STREAK_NOTIFICATION_BODY, + recipients: freshRecipients, + }), + ]); + + return { done: !results.next, cursor: results.next ?? "" }; +} +``` + +Adapt types for the target repo, especially typed Reddit ids like `T2`, `T3`, or `T1` if used. + +**Scheduler Job** + +Add or reuse one generic push scheduler job. In `devvit.json`, register a task similar to: + +```json +{ + "scheduler": { + "tasks": { + "pn": { + "endpoint": "/internal/scheduler/pn" + } + } + } +} +``` + +If the app already has scheduler routes, use the existing pattern. + +The scheduler endpoint should: + +- Validate the job body with the repo's validation tool, preferably Zod if already used. +- Accept a discriminated campaign payload, even if the first implementation only supports `new-content`. +- Read push batch config from Redis: `batchSize` and `batchDelayMs`. +- Process one batch. +- If not done, call `scheduler.runJob` again with the same campaign, updated cursor, same params, and `runAt = now + batchDelayMs`. +- Log campaign start, enqueue result, next cursor, and validation failures. + +Default batch config: + +```ts +const DEFAULT_PN_CONFIG = { + batchDelayMs: 1_500, + batchSize: 200, +}; +``` + +Store it in Redis using a versioned config key, for example `v1:config:pn`, and self-heal missing values. + +**Scheduling A New-Content Push** + +When new daily content is posted or becomes available, schedule: + +```ts +await scheduler.runJob({ + name: "pn", + data: { + campaign: "new-content", + cursor: "", + params: { link: contentId }, + }, + runAt: new Date(Date.now() + NEW_CONTENT_NOTIFICATION_DELAY_MS), +}); +``` + +Use the app's canonical content id as `link`. If the app has a daily content cron, schedule the push from that content creation path. If content is created manually, schedule it from that path too. + +**Robustness Requirements** + +- Validate all inputs before Redis writes or notification sends. +- Never trust client-reported completion for streak credit. +- Use the daily post's `createdAt` for the streak day, or the server-written daily content `createdAt` if the app does not use per-day Reddit posts. +- Keep completion writes idempotent. +- Keep opt-in state in Devvit notifications, not Redis. +- Cap notification batch size. +- Use scheduler continuation for pagination. +- Avoid private or surprising personalization in notification copy. +- Add enough logging to debug campaign progress. +- If historical completions exist, add a backfill script/job or leave a clear TODO with instructions. + +**Tests To Add** + +Add tests in the target repo's test style. Cover these cases: + +Streak Storage + +- Setting a streak bit for one user/year does not affect another user/year. +- `getDayOfYear` returns `0` for Jan 1, `364` for Dec 31 in non-leap years, and `365` for Dec 31 in leap years. +- `isBitSet` reads bits consistently with Redis bitmap ordering. + +Current Streak + +- Returns `0` when there are no plays. +- Returns `1` only after the first streak-worthy completion. +- Counts backward from today when today is set. +- Counts backward from yesterday when today is not set. +- Stops at the first missing day. +- Bridges from Jan 1 into the previous year when contiguous. +- Handles leap-year prior-year endings. + +Completion Writes + +- Recording the same completion twice is safe. +- Non-forced `completed: false` does not clear an existing day. +- Forced admin/backfill write can set or clear a bit if that behavior is implemented. +- Completion uses the content timestamp, not the request timestamp. +- If `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK` is `true`, completing an archive item sets the streak bit for that archive item's UTC content day. +- If `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK` is `false`, completing an archive item does not award streak credit. + +Push Opt-In Wrappers + +- `setPushState(true)` calls `notifications.optInCurrentUser`. +- `setPushState(false)` calls `notifications.optOutCurrentUser`. +- `getPushState` calls `notifications.isOptedIn`. +- No custom push provider, browser Push API subscription, or Redis opt-in source of truth is created. + +Notification Campaign + +- Opted-in users with `currentStreak > 0` receive streak copy with `data.streak`. +- Opted-in users with `currentStreak === 0` receive generic copy. +- Non-opted-in users are not sent notifications. +- Pagination returns the next cursor and marks done when no next page exists. + +Scheduler + +- The scheduler endpoint validates campaign payloads. +- It processes one batch using configured `batchSize`. +- It schedules a continuation job when `done === false`. +- It does not schedule a continuation when `done === true`. + +**Manual Verification Checklist** + +After implementation: + +- Complete today's content as a logged-in user and confirm the streak increments. +- Start as a new user and confirm the displayed/API streak is `0` before completing any streak-worthy content. +- Complete one streak-worthy item and confirm the displayed/API streak becomes `1`. +- If `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK` is `true`, complete an archive item as a logged-in user and confirm the app records the streak bit for that archive item's content day. +- If `COUNT_ARCHIVE_COMPLETIONS_FOR_STREAK` is `false`, complete an archive item as a logged-in user and confirm it does not award streak credit. +- Refresh the client and confirm `getStreak` returns the same value. +- Complete the same content again and confirm the streak does not double-count. +- Set up an opted-in test user with a streak and run the new-content campaign; confirm streak copy is sent. +- Set up an opted-in test user without a streak and run the campaign; confirm generic copy is sent. +- Confirm the notification link opens the intended content. +- Confirm a non-opted-in user does not receive a push. +- Confirm scheduler continuation works with a small batch size like `1`. + +**Expected Final Response From The Implementing Agent** + +When finished, report: + +- Files changed and why. +- The target repo's completion path that now records streaks. +- The Redis keys/data model used. +- The scheduler task and campaign payload shape. +- The push opt-in API methods exposed. +- Tests added and test command results. +- Manual verification steps completed or not completed. +- Remaining app-specific TODOs, if any. + +\--- END COPY-PASTE PROMPT \--- + +
diff --git a/versioned_docs/version-0.14/capabilities/notifications/notifications-overview.md b/versioned_docs/version-0.14/capabilities/notifications/notifications-overview.md new file mode 100644 index 00000000..c1b2c178 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/notifications/notifications-overview.md @@ -0,0 +1,21 @@ +# Overview + +Push notifications are an experimental engagement feature designed to help bring players back into your game at the right moments. + +Push notifications can help drive engagement, increase player retention, and build habit loops for players—all good things for your game. You can trigger opt-in reminders around high-value events such as streaks, rewards availability, milestones, and live activities. + +## Beta requirements + +This is a **gated beta**, which means that you’ll need to apply to unlock the ability to use push notifications in your app. Current eligibility is aimed at established, already-engaged games rather than brand-new launches, and push notification partners are selected from active games with traction and predictable cadence. Check out our [featured games](https://www.reddit.com/r/GamesOnReddit/comments/1rydlny/games_launchpad/) to get an idea of what we’re looking for. + +## How to apply + +If you meet the requirements and want to apply for a spot in our beta program: + +1. Download the [Devvit Push Notifications Beta: Copy Submission Template](https://docs.google.com/spreadsheets/d/1QSAyf68QJo6ZtQ7ovr3EDTkz1p428tfea1XyR4fFk2Q/edit?gid=266062773#gid=266062773). +2. Make a copy, and fill out the template with your app’s details. +3. Submit an [application form](https://docs.google.com/forms/d/1KG3uUuN6SCN4eo8QQ8adsip6PAPEDppVItfWPO5T7bI/edit) with a link to your template. + +:::note +Spaces are limited, and not all apps that meet the criteria will be accepted. +::: diff --git a/versioned_docs/version-0.14/capabilities/notifications/pn-best-practices.md b/versioned_docs/version-0.14/capabilities/notifications/pn-best-practices.md new file mode 100644 index 00000000..22b59f48 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/notifications/pn-best-practices.md @@ -0,0 +1,226 @@ +# Best Practices + +Push notifications can help drive engagement, increase player retention, and build habit loops for players—all good things for your game. The examples below are from [Syllo](https://www.reddit.com/r/syllo/), a word game that integrated Push Notifications into the game experience. + +![PN Examples](../../assets/notifications/syllo-pn-examples.png) + +This guide provides instructions for implementing developer-authored push notifications for Reddit games. + +:::note +This is currently an experimental feature, and you'll need to [apply](../notifications/notifications-overview.md#how-to-apply) for a spot in our beta program to implement push notifications in your app. +::: + +## How it works + +### Push notification copy review + +All push notifications in this Beta must be pre-approved by Devvit admins to ensure alignment with Reddit’s notification standards and content policy (see [Effective Copy](#write-effective-copy) for tips\!). + +The Devvit team will review and approve all submissions before activation to ensure a safe and consistent experience across games. + +Notifications should be: + +- **Time-sensitive or highly important** (e.g., a new puzzle is available, a live event is starting, a challenge has ended). +- **Respectful and Reddit-appropriate**, avoiding spammy, click-bait, or overly promotional language. +- **Short and clear** — titles ≤ 60 characters, body ≤ 100 characters. +- **Transparent** about the context of the notification (what the user will see when they tap). + +You can send a maximum of two push notifications per day per user. + +### Opt-in / opt-out UX + +Push notifications are opt-in only. and this is enforced at the API level. In the future, additional opt-out controls will also be available in Reddit settings. + +Games must provide an in-game notifications control that: + +- Allows users to explicitly turn notifications on and off +- Clear text indicating the user’s current state (on or off) on the initial screen + +#### UX best practices + +- Use Reddit’s notification-on and notification-off icons +- Clearly indicate if game notifications are on or off +- Always provide an easy way to toggle on or off notifications from your initial app view or a settings page +- Show visual confirmation of actions, like adding a “Notifications enabled” toast or change to the button styling + +#### Component examples + +![Components](../../assets/notifications/component-examples.png) + +## Designing high-quality notifications + +Push notifications are most effective when strong content and strong copy work together. High-quality messages start with meaningful in-game events and use clear, motivating language to bring that value to life. + +### Create meaningful events + +Your push notifications should deliver clear, immediate value to players. + +- **Make player progress visible**. Streaks make player progress tangible and gives players a clear, low-effort goal: show up, keep the streak alive, and continue progressing. **Make sure to include the number of days in the streak**. This makes the player’s progress concrete and strengthens their motivation to return to keep it going. + +![PN Examples](../../assets/notifications/visible-progress.png) + +- **Provide tangible player benefits**. Tie notifications to real outcomes, like rewards ready to claim, streak milestones, live games, or limited-time challenges. Give the user a clear payoff for returning to the game. High-value events drive high conversion. If there’s no clear payoff, it’s better not to send the notification at all. + +![PN Examples](../../assets/notifications/tangible-benefits.png) + +- **Layer urgency onto broadly relevant moments**. Create momentum by promoting events that are time-sensitive (“happening now” or “ending soon”) and matter to a wide audience, like a daily puzzle going live or the final hour of a tournament. + +![PN Examples](../../assets/notifications/layer-urgency.png) + +- **Treat pushes as a limited resource**. Use notifications selectively for moments where value is obvious at a glance, like completing a weekly challenge, collecting a reward, joining a live match, or entering a newly unlocked mode. These are the moments most likely to drive immediate play and long-term retention. + +### Optimize timing + +Send push notifications when players are most likely to engage with your game. + +- **Localize delivery by user time zone** + + - Schedule sends using the player’s local time, not a single global batch time. + - Treat night-time sends as disallowed by default; players are more likely to mute or opt out if they’re woken up or interrupted late. + +- **Aim for late afternoon to early evening** + + - Platform data shows peak PN opens in late afternoon and early evening by GEO. Use this as the default window if you don’t have game-specific signals. + - Start with a conservative window like **16:00–21:00 local time**, then refine based on your game’s metrics (CTR and disable rates). + +- **Align timing to moments of natural intent** + + - For streak reminders, send close to when players typically play (e.g., a few hours before their usual daily play time), not as a “last second” midnight panic. + - For event and reward PNs, send: + - Shortly before the value becomes available (e.g., event starting soon, reward about to unlock), or + - When the value is immediately redeemable and you can deeplink straight into the relevant screen. + - Avoid “just because it’s morning” or daily cron-style sends; timing should always correspond to a clear in-game reason to come back right now. + +- **Use timing metrics to iterate** + - Track **CTR by hour-of-day and day-of-week** in local time buckets for your game. + - Watch **notification disable rates** after bursts of sends; spikes usually mean you’re hitting players at the wrong time (too early, too late, or too often). + - If you don’t have enough volume for fine-grained experiments, stick to: + - No night-time delivery + - Late afternoon/evening windows + - Only sending when a concrete, time-bound value is available (streak, event, reward). + +### Write effective copy {#write-effective-copy} + +Push notifications act as **motivational nudges** that get to the crux of why users are playing your game. Here are some ways you can incorporate these nudges into your game. + +- **Add behavioral triggers**. Behavioral triggers respond to real user actions, like completing tasks, returning after a break, or reaching milestones. This makes each message feel timely and personal. Examples might include: + + - “You’re 1 game away from finishing your weekly challenge\!” + - “You were in the top 5% last week—can you do it again?” + - “You have 2 new puzzles waiting for you\!” + +- **Engage with social dynamics**. Highlighting status changes and community milestones inspire connection and friendly competition. Examples might include: + + - “Your team just moved up a division\! Jump in to keep the momentum going\!” + - “Someone just stole your place on the leaderboard. Want it back?” + +- **Leverage personal motivation.** The user’s history with the game reinforces progress. Examples might include: + - “Your crops are thriving\! Come collect your rewards\!” + - “You’re close to genius rank\! Solve 3 more puzzles to claim your crown\!” + - “You’re one mission away from unlocking your next rank\! Time to jump back into action\!” + +To learn more about creating deeper engagement loops, check out the best practices for [building community games](https://developers.reddit.com/docs/guides/best-practices/community_games). + +## Adding push notifications to your app + +### Step 1: Update the push notification module + +In your terminal, navigate to your project directory and run this command to update the push notification to the latest release. + +``` +npm install @devvit/notifications +``` + +### Step 2: Import the push notification module + +``` +import { notifications } from '@devvit/notifications'; +``` + +**Note**: If you already have the PN module, enter +`npm install @devvit/notifications@next` to get the latest version. + +### Step 3: Use bulk push notification endpoint with templating + +To send a push notification to a group of users, you can use the double curly brackets ( { { } } ) to reference variables in a Mustache template. + +``` +await notifications.enqueue({ + title: 'Hello {{name}}!', + body: 'You have {{score}} new points.', + recipients: [ + { + userId: 't2_abc123', + link: 't3_xyz987', + data: { + name: 'Alex', + score: '42', + }, + }, + { + userId: 't2_def456', + link: 't3_xyz987', + data: { + name: 'Jordan', + score: '7', + }, + }, + { + userId: 't2_ghi789', + link: 't3_xyz987', + data: { + name: 'Sam', + score: '13', + }, + }, + ], +}); +``` + +**Note:** Mustache templating is optional. Here's a simplified example without it: + +``` +await notifications.enqueue({ + title: 'Winner!', + body: 'Congrats on your win', + recipients: [ + { + userId: 't2_abc123', + link: 't3_xyz987', + }, + ], +``` + +**Note**: If the app hasn’t been published, you can only send push notifications to yourself for testing. **Pre-release apps in testing are not subject to the rate-limits below**. + +Once your app is published, you can pass different data per user for the same template. For each app, you can send: + +- 2 push notifications per user per day\* +- Up to 25K per app per day + +If you need higher limits, let us know. + +### Step 4: opt-in / opt-out + +Users will be able to opt in or out of receiving notifications triggered by a button in your UI: + +``` +await notifications.optInCurrentUser(); +await notifications.optOutCurrentUser(); +``` + +You will also be able to retrieve a list of users who have opted in (if not managing it manually): + +``` +//This will just return the first 1000 users +const recipients = await notifications.listOptedInUsers(); + +const recipients = await notifications.listOptedInUsers({ + after: '1764876078573:t2_ltrlsg7l', + limit: 100, +}); +``` + +The default and maximum limit is 1,000. + +Usernames are returned in chronological order according to opt-in time, starting after the specified cursor. If the cursor is not found, results begin from the earliest opt-in time. diff --git a/versioned_docs/version-0.14/capabilities/realtime/overview.md b/versioned_docs/version-0.14/capabilities/realtime/overview.md new file mode 100644 index 00000000..9539fcec --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/realtime/overview.md @@ -0,0 +1,173 @@ +# Overview + +Create live and event-driven interactive posts. Realtime provides a set of primitives that lets you build interactive posts that are: + +- **Live**. Users engaging with the same interactive post see each others’ changes without any observable lag. +- **Event-driven**. Posts render automatically in response to server events. +- **Synced**. Using realtime with [Redis](../server/redis.mdx) lets you build persistent community experiences that are backed by high performance data synchronization. + +Realtime is supported in [Devvit Web](../devvit-web/devvit_web_overview.mdx) applications. + +# Realtime in Devvit Web + +This guide walks through step-by-step instructions on how to set up [Realtime](./overview.md) in a [Devvit Web](../devvit-web/devvit_web_overview.mdx) application + +## Overview + +The realtime client allows you to: + +- **Connect** to realtime channels for receiving messages +- **Handle** connection lifecycle events (connect/disconnect) +- **Process** incoming messages with custom logic +- **Manage** multiple channel subscriptions +- **Disconnect** from channels when no longer needed + +## Architecture + +Realtime functionality in Devvit follows a client/server architecture: + +- **Client-side** (connectRealtime): Subscribe to channels and receive messages +- **Server-side** (realtime.send): Send messages to channels + +This separation ensures that message sending is controlled by server-side logic while clients can freely subscribe to channels they're interested in. + +## Client-side API reference + +### connectRealtime + +Connects to a realtime channel for receiving messages. + +```tsx title="client/index.ts" +import { connectRealtime } from '@devvit/web/client'; + +const connection = await connectRealtime({ + channel: 'my-channel', + onConnect: (channel) => { + console.log(`Connected to ${channel}`); + }, + onDisconnect: (channel) => { + console.log(`Disconnected from ${channel}`); + }, + onMessage: (data) => { + console.log('Received message:', data); + }, +}); +``` + +#### Parameters + +- `opts` - Connection options object + - `channel` (string) - The name of the channel to connect to. Note, you cannot use the `:` character in the channel name + - `onConnect?` (function) - Optional callback called when connection is established + - `onDisconnect?` (function) - Optional callback called when connection is lost + - `onMessage` (function) - Required callback called when a message is received + +#### Returns + +A `Connection` object with a `disconnect()` method. + +### Connection + +A connection object returned by `connectRealtime()`. + +#### Methods + +##### disconnect() + +Disconnects from the realtime channel. + +```tsx +await connection.disconnect(); +``` + +This method: + +- Removes the channel from active subscriptions +- Cleans up event listeners +- Calls the `onDisconnect` callback if provided + +## Server-side API reference + +### Realtime plugin + +The server-side plugin for sending messages to realtime channels. + +```tsx title="server/index.ts" +import { realtime } from '@devvit/web/server'; + +// Send a message to a channel +await realtime.send('my-channel', { + type: 'user-joined', + userId: '123', +}); +``` + +#### Methods + +##### send(channel: string, msg: JSONValue): Promise + +Sends a message to a specific channel. + +- `channel` (string) - The name of the channel to send the message to +- `msg` (JSONValue) - The message data to send + +## Usage examples + +### Client-side: basic channel connection + +```tsx title="client/index.ts" +import { connectRealtime } from '@devvit/web/client'; + +// Connect to a channel +const connection = await connectRealtime({ + channel: 'user-updates', + onMessage: (data) => { + // Handle incoming messages + console.log('User update:', data); + }, +}); + +// Later, disconnect when done +await connection.disconnect(); +``` + +### Client-side: connection lifecycle management + +```tsx title="client/index.ts" +import { connectRealtime } from '@devvit/web/client'; + +const connection = await connectRealtime({ + channel: 'live-chat', + onConnect: (channel) => { + console.log(`Connected to ${channel}`); + // Update UI to show connected state + setIsConnected(true); + }, + onDisconnect: (channel) => { + console.log(`Disconnected from ${channel}`); + // Update UI to show disconnected state + setIsConnected(false); + }, + onMessage: (data) => { + // Process chat messages + addMessageToChat(data); + }, +}); +``` + +### Server-side: sending messages + +```tsx title="server/index.ts" +import { realtime } from '@devvit/web/server'; + +// Send a simple message +await realtime.send('notifications', 'New user joined!'); + +// Send a structured message +await realtime.send('game-updates', { + type: 'score-update', + playerId: 'user123', + score: 1500, + timestamp: Date.now(), +}); +``` diff --git a/versioned_docs/version-0.14/capabilities/server/blob-storage.mdx b/versioned_docs/version-0.14/capabilities/server/blob-storage.mdx new file mode 100644 index 00000000..412e7750 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/blob-storage.mdx @@ -0,0 +1,217 @@ +# Blob Storage + +Binary Large Object Storage (aka “Blob”) is a way for your app to store data—like images, videos, and logs—in a scalable, cloud-based system. You can treat it like a cloud file system. Objects are similar to files and are stored at unique **keys** (for example, `path/to/my-object.json`). + +:::note +This is an experimental feature, which means you’ll need to request access to this capability. Use modmail at [r/devvit](https://www.reddit.com/r/Devvit/) to apply. +::: + +## How it works + +Since this is a beta program, you’ll need to send us a couple of things before you can get started: + +* The app identifier you want to use in the beta test. +* An overview that describes your use case. +* An estimate of how much storage you will need. + +Devvit blob manages an [AWS S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) for you to use. Under the hood, Devvit blob creates a dedicated namespace for your app’s installation. This means that separate installations cannot share blob storage. + +Public-facing file serving is not supported through blob storage at this time. Access to your namespace is restricted to just your app. + +## When to use blob storage + +Blob storage is best suited for data that is either bulky or infrequently accessed, like: + +* User generated content (screenshots, replays, save files, etc.) +* Backups and archives + +You can store up to 50 GB in blob storage. If your redis storage is filling up, you can migrate your most bulky data to blob storage to free up capacity. + +## Limits and quotas + +* Max requests per second: 100 +* Max request size: 30 MB +* Max object path length: 900 bytes +* Max storage: 50 GB + +## Adding blob storage to your app + +The @devvit/blob package provides a preconfigured client to use in your app’s server-side code. + +### Supported commands + +The client can only perform commands within your installation’s namespace in the S3 bucket. If you pass in a “Bucket” parameter to an S3 command, it will be overridden. The following commands are supported: + +* `PutObject` +* `GetObject` +* `DeleteObject` +* `ListObjects` +* `ListObjectsV2` +* `CreateMultipartUpload` +* `UploadPart` +* `ListParts` +* `AbortMultipartUpload` +* `CompleteMultipartUpload` +* `HeadObject` +* `SelectObjectContent` + + +See the [AWS SDK documentation](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3#client-commands-operations-list) for the available input parameters for each command. Note that some [S3 commands are unsupported](#unsupported-commands) and will not work with blob storage. + +### Steps + +1. In the root directory of your app, run npm install @devvit/blob to install the package. + +2. Make sure all @devvit dependencies in your app’s `package.json` are using the same version as the blob package you just installed. + +3. Install the latest version of the AWS SDK for S3: npm install @aws-sdk/client-s3 + +4. Set up the following APIs in your app server, which you can then call to use the supported commands in your client code: + +```ts +import { newS3Client } from '@devvit/blob'; +import { + PutObjectCommand, + type PutObjectCommandInput, + GetObjectCommand, + type GetObjectCommandInput, + DeleteObjectCommand, + type DeleteObjectCommandInput, + ListObjectsV2Command, + type ListObjectsV2CommandInput, +} from '@aws-sdk/client-s3'; + +// -- Server side of webbit app -- + +// Uploading content to S3. +router.post< + Record, + { ok: boolean } | { status: string; message: string }, + { key: string; body: string }, + Record +>("/api/s3-put", async (req, res): Promise => { + const input: PutObjectCommandInput = { + Bucket: '', + Key: req.body.key, + Body: req.body.body, + ContentType: "text/plain", + }; + const client = await newS3Client(); + await client.send(new PutObjectCommand(input)); + res.json({ ok: true }); +}); + +// Getting content from S3. +router.get< + Record, + string | { status: string; message: string }, + unknown, + { path?: string } +>("/api/s3-get", async (req, res): Promise => { + const client = await newS3Client(); + const input: GetObjectCommandInput = { + Bucket: '', Key: req.query.path, + }; + const response = await client.send(new GetObjectCommand(input)); + const text = (await response.Body?.transformToString?.()) ?? ""; + res.type("text/plain").send(text); +}); + +// Deleting content from S3. +router.delete< + Record, + { deleted: boolean } | { status: string; message: string }, + { key?: string }, + { key?: string } +>("/api/s3-delete", async (req, res): Promise => { + const key = (req.query.key as string | undefined) ?? req.body?.key; + const input: DeleteObjectCommandInput = { + Bucket: '', Key: key, + }; + const client = await newS3Client(); + await client.send(new DeleteObjectCommand(input)); + res.json({ deleted: true }); +}); + +// List the objects, or "keys", that exist at a path prefix in S3. +router.get< + Record, + { keys: string[] } | { status: string; message: string }, + unknown, + { prefix?: string } +>("/api/s3-list", async (req, res): Promise => { + const prefix = (req.query.prefix as string) ?? ""; + const input: ListObjectsV2CommandInput = { + Bucket: '', Prefix: prefix, + }; + const client = await newS3Client(); + const listResp = await client.send(new ListObjectsV2Command(input)); + const keys: string[] = listResp.Contents?.map((c) => c.Key).filter(Boolean) as string[]; + res.json({ keys }); +}); +``` + +## FAQs + +* **What is a bucket?** + A bucket is the top-level container for storing data in S3. Buckets contain objects. + +* **What is an object?** + An object is the basic unit of storage in S3. It’s similar to a file in a traditional file system. + +* **What is a prefix?** + A prefix is used to organize objects within a bucket. It works like a file path, for example: `this/is/a/prefix/`. + +* **Can I create a new bucket?** + No. Bucket creation isn’t supported. Your installation’s namespace acts as its own bucket. + +* **Can I have multiple buckets?** + No. Multiple buckets aren’t supported. Your installation’s namespace functions as a single bucket. + +* **Why do some S3 commands not work with the blob client?** + The blob client uses restricted credentials and a custom middleware layer, so some S3 operations aren’t available. + +* **Why did my remote build fail?** + If you added `"permissions": { "blob": true }` to your devvit.json, that could cause build issues. The blob package should work without it. + +## Unsupported commands + +The following commands are **not** supported for blob storage: + +* `UploadPartCopy` +* `ListMultipartUploads` +* `CopyObject` +* `DeleteObjects` +* `DeleteObjectTagging` +* `CreateBucket` +* `CreateBucketMetadataTableConfiguration` +* `CreateSession` +* all commands starting with `DeleteBucket` +* `DeletePublicAccessBlock` +* all commands starting with `GetBucket` +* `GetObjectAcl` +* `GetObjectAttributes` +* `GetObjectLegalHold` +* `GetObjectLockConfiguration` +* `GetObjectRetention` +* `GetObjectTagging` +* `GetObjectTorrent` +* `GetPublicAccessBlock` +* `HeadBucket` +* all commands starting with `ListBucket` +* `ListDirectoryBuckets` +* `ListObjectVersions` +* all commands starting with `PutBucket` +* `PutObjectAcl` +* `PutObjectLegalHold` +* `PutObjectLockConfiguration` +* `PutObjectRetention` +* `PutObjectTagging` +* `PutPublicAccessBlock` +* `RenameObject` +* `RestoreObject` +* all commands starting with `UpdateBucket` +* `UpdateObjectEncryption` +* `WriteGetObjectResponsePutObject` + + diff --git a/versioned_docs/version-0.14/capabilities/server/cache-helper.md b/versioned_docs/version-0.14/capabilities/server/cache-helper.md new file mode 100644 index 00000000..44ce10a1 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/cache-helper.md @@ -0,0 +1,207 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Cache Helper + +Cache helper lets you build a more performant app by reducing the number of server side calls for the same data. You can create a short-term cache that stores JSON objects in your Devvit app for a limited amount of time. This is valuable when you have many clients trying to get the same data, for example a stock ticker value or a sports score. + +Under the covers, it's Redis plus a local in-memory write-through cache. This provides a pattern for fetching data without involving a scheduler and allows small time-to-live (TTL, ~1 second). Cache helper lets the app make one request for the data, save the response, and provide this response to all users requesting the same data. + +:::warning +**Do not cache sensitive information**. Cache helper randomly selects one user to make the real request and saves the response to the cache for others to use. You should only use cache helper for non-personalized fetches, since the same response is available to all users. +::: + +## Usage + +You can import cache helper from `@devvit/web/server` in your server source files. The cache helper is not available client-side, so you will see an error if you try to import it in client source files. + +```tsx +import { cache } from "@devvit/web/server"; +``` + +## Parameters + +The cache takes a key and a TTL: + +| **Parameters** | **Description** | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `key` | This is a string that identifies a cached response. Instead of making a real request, the app gets the cached response with the key you provide. Make sure to use different keys for different data. For example, if you’re saving post-specific data, add the postId to the cache key, like this: `post_data_${postId})`. | +| `ttl` | Time to live is the number of **seconds** the cached response is expected to be relevant. Once the cached response expires, it will be voided and a real request is made to populate the cache again. You can treat it as a threshold, where ttl of 30 would mean that a request is done no more than once per 30 seconds. | + +## Example + +Here’s a way to set up in-app caching instead of using scheduler or interval to fetch. + + + + +```tsx title="server/index.ts" +import { Hono } from "hono"; +import { + cache, + context, + createServer, + getServerPort, + reddit, +} from "@devvit/web/server"; + +type SubredditResponse = { + type: "subreddit"; + subreddit: string; +}; + +type SubredditErrorResponse = { + status: "error"; + message: string; +}; + +const app = new Hono(); + +app.get("/api/subreddit", async (c) => { + const { postId } = context; + + if (!postId) { + console.error("API Subreddit Error: postId not found in devvit context"); + return c.json( + { + status: "error", + message: "postId is required but missing from context", + }, + 400, + ); + } + + try { + const subredditName = await cache( + async () => { + const subreddit = await reddit.getCurrentSubreddit(); + if (!subreddit) { + throw new Error("Subreddit is required but missing from context"); + } + return subreddit.name; + }, + { + key: "current_subreddit", + ttl: 24 * 60 * 60, // expire after one day. + }, + ); + console.log(`Current subreddit: ${subredditName}`); + + return c.json({ + type: "subreddit", + subreddit: subredditName, + }); + } catch (error) { + console.error(`API Subreddit Error for post ${postId}:`, error); + let errorMessage = "Unknown error during subreddit retrieval"; + if (error instanceof Error) { + errorMessage = `Subreddit retrieval failed: ${error.message}`; + } + return c.json( + { status: "error", message: errorMessage }, + 400, + ); + } +}); + +const server = createServer(app); +server.on("error", (err) => console.error(`server error; ${err.stack}`)); +server.listen(getServerPort()); +``` + + + + +````tsx title="server/index.ts" + import express from "express"; + import { + cache, + createServer, + context, + getServerPort, + reddit, + } from "@devvit/web/server"; + + type SubredditResponse = { + type: "subreddit"; + subreddit: string; + }; + + type SubredditErrorResponse = { + status: "error"; + message: string; + }; + + const app = express(); + + // Middleware for JSON body parsing + app.use(express.json()); + // Middleware for URL-encoded body parsing + app.use(express.urlencoded({ extended: true })); + // Middleware for plain text body parsing + app.use(express.text()); + + const router = express.Router(); + + router.get( + "/api/subreddit", + async (_req, res): Promise => { + const { postId } = context; + + if (!postId) { + console.error("API Subreddit Error: postId not found in devvit context"); + res.status(400).json({ + status: "error", + message: "postId is required but missing from context", + }); + return; + } + + try { + const subredditName = await cache( + async () => { + const subreddit = await reddit.getCurrentSubreddit(); + if (!subreddit) { + throw new Error("Subreddit is required but missing from context"); + } + return subreddit.name; + }, + { + key: `current_subreddit`, + ttl: 24 * 60 * 60 // expire after one day. + } + ); + console.log(`Current subreddit: ${subredditName}`); + + res.json({ + type: "subreddit", + subreddit: subredditName, + }); + } catch (error) { + console.error(`API Subreddit Error for post ${postId}:`, error); + let errorMessage = "Unknown error during subreddit retrieval"; + if (error instanceof Error) { + errorMessage = `Subreddit retrieval failed: ${error.message}`; + } + res.status(400).json({ status: "error", message: errorMessage }); + } + } + ); + + app.use(router); + + const server = createServer(app); + server.on("error", (err) => console.error(`server error; ${err.stack}`)); + server.listen(getServerPort()); + ``` + + + +```` diff --git a/versioned_docs/version-0.14/capabilities/server/external-endpoints.mdx b/versioned_docs/version-0.14/capabilities/server/external-endpoints.mdx new file mode 100644 index 00000000..cf4b08c3 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/external-endpoints.mdx @@ -0,0 +1,256 @@ +# External Endpoints + +External endpoints provide a secure way for external services to communicate with your Devvit app. + +:::note +This is a limited-access feature. Fill out this [form](https://docs.google.com/forms/d/e/1FAIpQLScLU2m-IH9xtt4hqFBNy5AlrswY0pvfvoyTiQREbq_9xDQJkQ/viewform) to request access. +::: + +The term **endpoint** refers to externally accessible routes exposed by your app. This consistent terminology makes it easier to identify the relevant APIs, configuration, and code paths. + +Devvit supports two types of tokens: + +| Type | Best For | Authentication | +| :-------------- | :--------------------------------------------------------------------- | :----------------------------------------------------------- | +| Callback tokens | Your app initiates work and an external service returns a result later | Short-lived, one-time callback token generated automatically | +| Managed tokens | An external service initiates requests to your app | Long-lived token managed in Developer Settings | + +All tokens start with `devvit_at_`. + +Tokens are secret. Never share a token or a callback URL. + +Never call an `/external/` endpoint from a Devvit app’s frontend. All external endpoints require a secret token to access which cannot easily be hidden in a post. Call conventional `/api/` endpoints instead. External endpoints are for trusted services only. + +## Declaring external endpoints + +External endpoints are declared in `devvit.json`. + +``` + "server": { + "externalEndpoints": { + "onCommentProcessed": {"endpoint": "/external/on/comment/processed"}, + "onImageGenerated": { + "endpoint": "/external/on/image/generated", + "scopes": ["global"] + } + } + }, +``` + +The key becomes the endpoint name used throughout the codebase, while the value defines the public route. + +External endpoints can receive request bodies up to 10 megabytes, and are limited to 5 requests per second (at time of writing, may change at any time). + +## Callbacks + +Callbacks allow your Devvit app to generate authenticated URLs that external services can use to call _back_ into the app. + +These URLs contain short-lived authentication tokens generated at runtime. You can think of Callbacks as similar to passwordless login links ("magic links") used by services such as Slack. + +Typical flow: + +1. Your app generates a callback URL. +2. Your app sends that URL to an external service. +3. The external service performs work. +4. The external service invokes the callback URL. +5. Your app is invoked and receives the request. + +### Callback URL format + +``` +https://--external.devvit.net/external/?externalToken=devvit_at_ +``` + +### Callback tokens + +Callback tokens are generated automatically when creating a callback URL, and you won’t interact with them directly. Callback tokens: + +- Do not have names +- Are not visible in Developer Settings +- Have a short time-to-live. +- Are intended for single use +- Are generated at runtime +- Currently scoped to an installation + +### Using callbacks + +Callbacks are best suited for workflows where the Devvit app initiates work in an external service and later receives the result. + +#### Step 1: Generate a Callback URL + +Inside your app, generate a callback URL and pass it to an external service. + +```ts +import { externalEndpoints } from "@devvit/web/server"; + +// Get URL with a secret new token. Looks something like: +// https://foobar-abc123-external.devvit.net/external/on/comment-processed?externalToken=devvit_at_def456 +const url = await externalEndpoints.getCallbackUrl("onCommentProcessed"); + +// A normal fetch but include the callback URL in the request body. +const rsp = await fetch("https://your-service.example.com/process", { + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json", + }, + body: JSON.stringify({ + // You can put any data you want here but you must pass the + // callback URL somewhere or the external service won't be able + // to call back. + callbackUrl: url, + }), +}); +if (!rsp.ok) { + const text = await msg.text().catch(() => ""); + throw Error(`HTTP status ${rsp.status}: ${rsp.statusText}; ${text}`); +} +``` + +When called, `getCallbackUrl()`: + +- Generates a URL with a callback token; send the URL with whatever data your external service needs +- Saves the current request context for restoration on callback including all context fields like `Context.postId`. + +The generated callback URL: + +- Expires after 10 minutes (at time of writing, may change at any point) +- Can only be used once + + #### Step 2: Invoke the Callback from an External Service + +Your external service receives the callback URL and calls it when processing is complete. + +```ts +// Invoke the callback URL. +const rsp = await fetch( + `https://${appSlug}-${subredditId}-external.devvit.net/external/on/comment/processed?externalToken=${token}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json", + }, + body: JSON.stringify({ + // Whatever data your app wants from your external service. + }), + }, +); +if (!rsp.ok) { + const text = await msg.text().catch(() => ""); + throw Error(`HTTP status ${rsp.status}: ${rsp.statusText}; ${text}`); +} +``` + +#### Step 3: Handle the Callback + +Register a handler inside your app to receive the callback. + +```ts +app.post("/external/on/comment/processed", async (c) => { + const input = await c.req.json(); + + console.log(`Result: ${JSON.stringify(input)} in ${context.subredditId}`); + + return c.json({ + status: "ok", + }); +}); +``` + +#### Available Context + +All `Context` is recorded at `getCallbackUrl()` invocation time and restored when handling an external request. + +## Managed tokens + +Managed tokens are long-lived credentials that allow an external service to invoke endpoints exposed by your Devvit app. Unlike callbacks, managed tokens do not require a request to originate from your app. + +Managed tokens are: + +- Created and managed in Developer Settings of your app +- Have a user-defined name +- Consist of: + - A public token ID + - A private secret +- Long-lived +- Currently scoped globally across all installations of an app +- All requests execute as the app account +- Can be revoked at any time + +### Example + +``` +Name: my-token-123 + +Secret token: +devvit_at_abcdefg1234567890... +``` + +### Security notes + +- The secret token is displayed only once, at creation time. +- Store the secret securely. If you use the token in a Devvit app, use a [`secret setting`](https://developers.reddit.com/docs/capabilities/server/settings-and-secrets). Many apps won’t need to store the secret as it’s the calling external service that needs to send it. +- Never expose tokens to anyone. +- The secret token must be provided in the `Authorization` header for incoming external requests to the app. + +Example: + +``` + + +const rsp = await fetch(`https://${appSlug}-${subredditId}-external.devvit.net/external/on/image/generated`, { + method: 'POST', + headers: { + Authorization: `bearer devvit_at_abc123`, // <-- Token goes here. + 'Content-Type': 'application/json', + 'Accept': 'application/json' + }, + body: JSON.stringify({ +// Whatever data your app wants from your external service. + }), +}); +if (!rsp.ok) { + const text = await msg.text().catch(() => ''); + throw Error(`HTTP status ${rsp.status}: ${rsp.statusText}; ${text}`); +} +``` + +### Creating a managed token + +1. Open the Developer Portal. +2. Navigate to Developer Settings for your app. +3. Create a new App Token. +4. Copy and securely store the generated private secret. +5. The secret will only be shown once. If you lose it, revoke the token and create a new one. + +### Scope + +Callback tokens currently always have installation scope and managed tokens currently always have global scope. Endpoints declare the scopes they support in `devvit.json`. + +An installation is where an app “lives”, usually a subreddit or a user profile. Apps are installed by a moderator and have access to their installation’s data. Only tokens generated by the installation can invoke that installation’s endpoint when limited to installation scope. Currently, only callback tokens can be generated by an installation. An installation scoped token won’t work on a global endpoint. A managed token will work on any global endpoint regardless of where it’s installed. For example, if /external/on/image/generated is a global endpoint, a managed token can invoke it on any location: + +``` +https://${appSlug}-aaa123-external.devvit.net/external/on/image/generated // sub A +https://${appSlug}-bbb456-external.devvit.net/external/on/image/generated // sub B +https://${appSlug}-ccc789-external.devvit.net/external/on/image/generated // sub C +``` + +This is a powerful and potentially problematic feature because it allows an app to expose endpoints that can be accessed from outside the platform. Moderators should carefully evaluate apps that have external endpoints capability and ensure they come from trusted sources. + +To help mods evaluate your app, document each external endpoint clearly, and only expose endpoints that are necessary for your app’s functionality. + +## Choosing between callbacks and managed tokens + +Use **callback tokens** when your app initiates a workflow and needs a secure way for an external service to return a result with the same context. + +Use **managed tokens** when an external service needs ongoing access to invoke your app's external endpoints. + +| Use Case | Callback Token | Managed Tokens | +| ----------------------------------------- | :------------: | :------------: | +| App initiates work in an external service | ✅ | ❌ | +| External service initiates requests | ❌ | ✅ | +| Short-lived credentials | ✅ | ❌ | +| Long-lived credentials | ❌ | ✅ | +| One-time use URLs | ✅ | ❌ | +| Centralized external service | ❌ | ✅ | diff --git a/versioned_docs/version-0.14/capabilities/server/global-triggers.mdx b/versioned_docs/version-0.14/capabilities/server/global-triggers.mdx new file mode 100644 index 00000000..5bb9873c --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/global-triggers.mdx @@ -0,0 +1,99 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# App Mention Triggers + +App mention triggers let your app respond to Reddit events even when those events happen outside the subreddit where your app is installed. App mention triggers are limited to app usernames. + +Devvit currently supports one global trigger: `onMentionInCommentCreate` + +:::note +This is a limited-access feature. Fill out this [form](https://docs.google.com/forms/d/e/1FAIpQLScLU2m-IH9xtt4hqFBNy5AlrswY0pvfvoyTiQREbq_9xDQJkQ/viewform) to request access. +::: + +## Example usage + +Configure an app mention trigger the same way you configure other trigger events: declare the event in `devvit.json`, map it to an internal endpoint, then handle requests at that endpoint. + +```json +"triggers": { + "onMentionInCommentCreate": "/internal/triggers/on-mention-in-comment-create" +} +``` + +Then handle the app mention trigger event in your server: + + + + +```tsx title="server/index.ts" +import type { + OnMentionInCommentCreateRequest, + TriggerResponse, +} from '@devvit/web/shared'; + +app.post('/internal/triggers/on-mention-in-comment-create', async (c) => { + console.log('Handle event for on-mention-in-comment-create!'); + const input = await c.req.json(); + const commentId = input.comment?.id; + console.log('Comment ID:', commentId); + return c.json({ status: 'ok' }); +}); +``` + + + + +```tsx title="server/index.ts" +import type { + OnMentionInCommentCreateRequest, + TriggerResponse, +} from '@devvit/web/shared'; + +const router = express.Router(); + +// .. + +router.post( + "/internal/triggers/on-mention-in-comment-create", + async (req, res) => { + console.log("Handle event for on-mention-in-comment-create!"); + const commentId = req.body.comment?.id; + console.log("Comment ID:", commentId); + res.status(200).json({ status: "ok" }); + } +); +``` + + + + +## Playtesting app mention triggers + +During development, you can playtest app mention trigger events only when the triggering event occurs in the playtest subreddit. Events from other subreddits do not invoke your app while you are playtesting. + +## Responding to app mention trigger events across Reddit + +To receive app mention trigger events across Reddit, your app version must: + +- Be published and approved. +- Be installed to the app's profile subreddit. + +## Profile subreddit installations + +Some app versions can be installed to the app's profile subreddit. An app version is eligible when it has been approved and uses at least one app mention trigger event. + +Eligible app versions appear in the **Profile installation** section of your app's settings page at [developers.reddit.com/apps/your-app-slug](https://developers.reddit.com/apps/your-app-slug). + +## Limitations + +Apps do not receive app mention trigger events when: + +- The event does not pass safety checks, such as checks for illegal content. Events may contain NSFW content. diff --git a/versioned_docs/version-0.14/capabilities/server/http-fetch-policy.md b/versioned_docs/version-0.14/capabilities/server/http-fetch-policy.md new file mode 100644 index 00000000..0f6557b4 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/http-fetch-policy.md @@ -0,0 +1,110 @@ +# HTTP Fetch Policy + +When requesting domains to be allow-listed, they fall into three categories: + +1. **APIs that provide data or specific services** (e.g., `api.openai.com`, `api.wikipedia.org`) \- These will be approved if they have a **publicly documented and publicly accessible API** for valid use cases, and if they adhere to the Devvit rules. Please reference our AI providers and account linking policies for common invalid use cases. + +2. **Limited scope cloud providers** (e.g., `username.supabase.com`, `my-app.firebase.com`) \- May be granted with exceptions. You must: + + - Follow user privacy guidelines and data governance requirements + - Use an approved provider from the list below (please include your subdomain, and request for the most granular domain possible, e.g. `my-app.s3.amazonaws.com`) + - `supabase.com` + - `firebase.com` + - `spacetimedb.com` + - `s3.amazonaws.com` + - `storage.googleapis.com` + - Demonstrate a capability that `@devvit/server` doesn't support + - Valid use cases include: + - Asset hosting (videos, images, music) + - Relational databases + - Note: Approval can be revoked at any time + +3. **Personal domains** (e.g., `personaldomain.com`) \- Will not be approved. If you have a use case that our Devvit server does not support, please submit your request with detailed justification. + +### AI providers + +At this time, the only AI providers we allow are OpenAI and Google Gemini: + +- `api.openai.com` +- `generativelanguage.googleapis.com` + +Requests to use any other AI provider will be denied. + +### Documentation requirements + +If your app uses fetch domains, add this context to your app's [README](../../devvit_rules.md#app-readme-requirements) for the approval process: + +1. Create a "Fetch Domains" section in your [README](../../devvit_rules.md#app-readme-requirements) +2. List each domain you're requesting and explain why you need it +3. Ensure your usage complies with our fetch guidelines + +Example Fetch Domains section: + +``` +## Fetch Domains + +The following domains are requested for this app: + +- `api.wikipedia.org` - Used to fetch article summaries for the knowledge base feature +- `username.supabase.com` - Required for relational database storage of user preferences (Devvit KV store doesn't support complex queries needed for this feature) +``` + +…. + +### Domain Requirements + +Domain entries must be exact hostnames only, such as nytimes.com or wikipedia.org. These fetch requests are not allowed: + +- Be specific. No using `*.example.com` when you need `api.example.com` +- No wildcards: `*.example.com` +- No protocols: `https://api.example.com` +- No paths: `api.example.com/webhooks` + +Domains that are approved for your app will be displayed in the Developer Settings section for your app at `https://developers.reddit.com/apps/{your-app-slug}/developer-settings`. +These domains are allow-listed for **your app only** and not globally. + +Apps must request each individual domain that it intends to fetch, even if the domain is already globally allowed. See the [global fetch allowlist](#global-fetch-allowlist) to view the list of globally allowed domains. + +### Terms and conditions + +Any app that uses `fetch` must upload Terms and Conditions and a Privacy Policy. Links to each of these documents must be saved in the app details form. + +![App configuration form](../../assets/capabilities/http-fetch/http-fetch-legal-links.png) + +## Global fetch allowlist {#global-fetch-allowlist} + +The following domains are globally allowed and can be fetched by any app: + +- api.openai.com +- generativelanguage.googleapis.com +- example.com +- site.api.espn.com +- cdn.espn.com +- discord.com +- api.polygon.io +- api.massive.com +- polygon.io +- slack.com +- lichess.org +- api.telegram.org +- commentanalyzer.googleapis.com +- language.googleapis.com +- statsapi.mlb.com +- api.scryfall.com +- api.nasa.gov +- api.sportradar.us +- api.sportradar.com +- random.org +- youtube.googleapis.com +- api.weather.gov +- wikipedia.org +- finance.yahoo.com +- api.twitter.com +- api.petfinder.com +- fonts.googleapis.com +- nytimes.com +- npr.org +- propublica.org +- pbs.org +- i.giphy.com +- chessboardjs.com diff --git a/versioned_docs/version-0.14/capabilities/server/http-fetch.mdx b/versioned_docs/version-0.14/capabilities/server/http-fetch.mdx new file mode 100644 index 00000000..fbe1b54c --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/http-fetch.mdx @@ -0,0 +1,155 @@ +# HTTP Fetch + +Make requests to allow-listed external domains. + +Your Devvit app can make network requests to access allow-listed external domains using HTTP Fetch. This enables your app to leverage webhooks, personal servers, and other third-party integrations asynchronously across the network. + +## Enabling HTTP fetch calls + +```json title="devvit.json" +{ + ... + "permissions": { + "http": { + "enable": true, + "domains": ["my-site.com", "another-domain.net"] + } + } +} +``` + +### Requesting a domain to be allow-listed + +Apps may request a domain to be added to the allow-list by specifying `domains` in the `http` configuration. +This configuration is optional, and apps can still configure `http: true` as before. + +Requested domains will be submitted for review when you playtest or upload your app. Most domain requests are reviewed within **1–2 business days**, though requests with policy ambiguity may take longer. Admins may approve or deny domain requests. + +Domain entries must be exact hostnames only, such as nytimes.com or wikipedia.org. These fetch requests are not allowed: + +- Be specific. No using `*.example.com` when you need `api.example.com` +- No wildcards: `*.example.com` +- No protocols: `https://api.example.com` +- No paths: `api.example.com/webhooks` + +Domains that are approved for your app will be displayed in the Developer Settings section for your app at `https://developers.reddit.com/apps/{your-app-slug}/developer-settings`. +These domains are allow-listed for **your app only** and not globally. + +Apps must request each individual domain that it intends to fetch, even if the domain is already globally allowed. See the [global fetch allowlist](#global-fetch-allowlist) to view the list of globally allowed domains. + +## Limitations + +- Access is only allowed to https URIs. +- Supported HTTP methods: `GET`, `POST`, `PUT`, `DELETE`, `OPTIONS` and `PATCH`. +- HTTP timeout limit is 30 seconds. + +## Example usage + +Devvit Web applications have two different contexts for using fetch: + +### Server-side fetch + +Server-side fetch allows your app to make HTTP requests to allowlisted external domains from your server-side code (e.g., API routes, server actions): + +```tsx title="server/index.ts" +const response = await fetch('https://example.com/api/data', { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + }, +}); + +const data = await response.json(); +console.log('External API response:', data); +```` + +### Client-side fetch + +Client-side fetch has different restrictions and can only make requests to your own webview domain: + +**Client-side restrictions:** + +- **Domain limitation**: Can only make requests to your own webview domain +- **Endpoint requirement**: Client-side fetches to your app server must target paths that start with `/api/` +- **Authentication**: Handled automatically - no need to manage auth tokens +- **No external domains**: Cannot make requests to external domains from client-side code + +:::caution +Do not treat `/api/` endpoints as private. Any user who can load your app will be able to call them directly. When changing Redis, content, settings, moderator state, or other persistent data, first check that the user has permission in your server logic. Apps with unprotected endpoints will be rejected during review. +::: + +```tsx title="client/index.ts" +const handleFetchData = async () => { + // ✅ Correct: Fetching your own webview's API endpoint + const response = await fetch("/api/user-data", { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + }); + + const data = await response.json(); + console.log("API response:", data); +}; + +// ❌ Incorrect: Cannot fetch external domains from client-side +// const response = await fetch('https://external-api.com/data'); + +// ❌ Incorrect: Endpoint must start with /api/ +// const response = await fetch('/user-data'); +``` + +## Troubleshooting + +If you see the following error, it means HTTP Fetch requests are hitting the internal timeout limits. To resolve this: + +- Use a queue or kick off an async request in your back end. You can use [Scheduler](./scheduler.mdx) to monitor the result. +- Optimize the overall HTTP request latency if you have a self-hosted server. + +```ts +HTTP request to domain: timed out with error: context deadline exceeded. +``` + +### Terms and conditions + +Any app that uses `fetch` must upload Terms and Conditions and a Privacy Policy. Links to each of these documents must be saved in the app details form. + +![App configuration form](../../assets/capabilities/http-fetch/http-fetch-legal-links.png) + +## Global fetch allowlist + +The following domains are globally allowed and can be fetched by any app: + +- example.com +- site.api.espn.com +- cdn.espn.com +- discord.com +- api.polygon.io +- api.massive.com +- polygon.io +- slack.com +- lichess.org +- api.telegram.org +- commentanalyzer.googleapis.com +- language.googleapis.com +- statsapi.mlb.com +- api.openai.com +- api.scryfall.com +- api.nasa.gov +- api.sportradar.us +- api.sportradar.com +- random.org +- generativelanguage.googleapis.com +- youtube.googleapis.com +- api.weather.gov +- wikipedia.org +- finance.yahoo.com +- api.twitter.com +- api.petfinder.com +- fonts.googleapis.com +- nytimes.com +- npr.org +- propublica.org +- pbs.org +- i.giphy.com +- chessboardjs.com diff --git a/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_overview.mdx b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_overview.mdx new file mode 100644 index 00000000..81578519 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_overview.mdx @@ -0,0 +1,17 @@ +# View Modes, Launch Screens, and Entry Points + +Devvit’s interactive framework gives you powerful ways to shape how users experience apps, from launch screen to expanded screen viewing. With view modes, HTML-based launch screens, and multiple entry points, you can design apps that feel native and respond to how users interact across the Reddit platform. + +View modes define how your app appears: + +- **Inline mode** loads your app’s web view directly inside the post unit, either in the feed or on the post details page. Users can interact immediately without additional taps or page loads. + +- **Expanded mode** opens your app or game in a larger, full-screen view, ideal for immersive experiences such as games, creative tools, or detailed interactions on mobile. + +**Launch screens** are the first thing users see before your main app loads. These HTML-based screens give you complete control over their design, animation, and loading behavior using the same tools and styles as your app itself. + +This is an example of an inline launch screen: + +Inline launch screen + +**Entry points** act as a router that organizes your app across different view modes. Each entry point specifies the initial HTML file for the specific context. A user might experience your app inline, when it’s embedded in a post, or launch it in expanded mode for a larger, full-screen mobile experience. diff --git a/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_screen_customization.md b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_screen_customization.md new file mode 100644 index 00000000..9bdddb6f --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_screen_customization.md @@ -0,0 +1,166 @@ +# Launch Screen Customization + +## Creating Your Launch (Preview) Screen + +Create an HTML file that serves as your app's launch screen in inline mode. This is what users see immediately when they encounter your post. Templates include a performant and compliant preview screen. + +```html title="preview.html" + + + + + My Game + + + +
+

Adventure Game

+

Tap to play in fullscreen

+ +
+ + +``` + +```tsx title="preview.js" +import { requestExpandedMode } from '@devvit/web/client'; + +document.addEventListener('DOMContentLoaded', () => { + const playButton = document.getElementById('play-button'); + + playButton.addEventListener('click', (event) => { + try { + requestExpandedMode(event, 'game'); + } catch (error) { + console.error('Failed to enter expanded mode:', error); + } + }); +}); +``` + +## API Reference + +### requestExpandedMode() + +Requests expanded mode for the web view. This displays the web view in a larger modal presentation on web and full screen on mobile. + +```tsx +import { requestExpandedMode } from '@devvit/web/client'; + +// Must be called synchronously from a trusted click event. +requestExpandedMode(event, 'game'); +``` + +**Parameters** + +- `event` (MouseEvent): The trusted `click` event that triggered the request +- `entry` (string): The destination URI name (e.g., `splash` or `game`). Entry names are the `devvit.json post.entrypoints` keys + +### getWebViewMode() + +Get the current web view mode state. + +```tsx +import { getWebViewMode } from '@devvit/web/client'; + +const currentMode = getWebViewMode(); // Returns 'inline' | 'expanded' + +if (currentMode === 'expanded') { + // Show expanded UI +} else { + // Show inline UI +} +``` + +### Returning to inline mode + +The legacy `addWebViewModeListener()` and `removeWebViewModeListener()` APIs are deprecated. Listen for the window `focus` event to detect when an expanded web view returns to inline mode, then read the current mode again. + +```tsx +import { getWebViewMode } from '@devvit/web/client'; + +function useWebViewMode() { + const [mode, setMode] = useState(getWebViewMode()); + + useEffect(() => { + const handleFocus = () => setMode(getWebViewMode()); + + window.addEventListener('focus', handleFocus); + return () => window.removeEventListener('focus', handleFocus); + }, []); + + return mode; +} +``` + +## Complete Example + +```tsx title="game.tsx" +import React, { useState, useEffect } from 'react'; +import { + getWebViewMode, + requestExpandedMode, + exitExpandedMode, +} from '@devvit/web/client'; + +export function GameApp() { + const [mode, setMode] = useState(getWebViewMode()); + const [gameStarted, setGameStarted] = useState(false); + + useEffect(() => { + const handleFocus = () => { + const nextMode = getWebViewMode(); + setMode(nextMode); + + // Pause game when returning to inline mode. + if (nextMode === 'inline' && gameStarted) { + pauseGame(); + } + }; + + window.addEventListener('focus', handleFocus); + return () => window.removeEventListener('focus', handleFocus); + }, [gameStarted]); + + const handlePlayClick = (event: React.MouseEvent) => { + try { + requestExpandedMode(event.nativeEvent, 'game'); + setMode('expanded'); + setGameStarted(true); + } catch (error) { + console.error('Could not enter expanded mode:', error); + // Fallback: start game inline. + setGameStarted(true); + } + }; + + const handleExitClick = (event: React.MouseEvent) => { + try { + exitExpandedMode(event.nativeEvent); + } catch (error) { + console.error('Could not exit expanded mode:', error); + } + }; + + if (mode === 'inline') { + return ( +
+

Adventure Game

+

Tap to play in fullscreen

+ +
+ ); + } + + return ( +
+ + +
+ ); +} +``` diff --git a/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/splash_migration.mdx b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/splash_migration.mdx new file mode 100644 index 00000000..79091a16 --- /dev/null +++ b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/splash_migration.mdx @@ -0,0 +1,119 @@ +# Migrating from Splash Screens + +If you're updating an existing app that used the deprecated splash parameter in `submitCustomPost()`, you'll need to migrate to HTML-based launch screens with multiple entry points. + + + + + + + + + [Build Games](./intro-games.mdx) + [Create Mod Tools](./intro-mod-tools.mdx) + diff --git a/versioned_docs/version-0.14/quickstart/quickstart-gamemaker.mdx b/versioned_docs/version-0.14/quickstart/quickstart-gamemaker.mdx new file mode 100644 index 00000000..7fa44119 --- /dev/null +++ b/versioned_docs/version-0.14/quickstart/quickstart-gamemaker.mdx @@ -0,0 +1,63 @@ +# GameMaker Quickstart + +This page walks you through building a GameMaker app for Devvit. Once complete, you'll see your GameMaker game running directly within a Reddit post. + +If you are already familiar with Devvit and want to jump straight to exporting, see the [Build and Deploy GameMaker Games to Devvit ](#build-and-deploy-gamemaker-games-to-devvit) section. + +## Try it out + +The template creates a simple GameMaker game and demonstrates data exchange between Reddit and GameMaker. + +GameMaker example + +## What you'll need + +- Node.js (version 22.2.0+) +- [GameMaker 2024.1400.3](https://releases.gamemaker.io/release-notes/2024/1400_3) or later (this version adds direct exporting to Reddit) + +## Environment setup + +1. Install Node.js and npm ([instructions](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)) +2. Go to [developers.reddit.com/new](https://developers.reddit.com/new) and select the GameMaker template +3. Complete the setup wizard (you'll need to create a Reddit account and connect it to Reddit Developers) +4. Follow the instructions in your terminal + +On success, you should see something like this: + +```sh +Your Devvit authentication token has been saved to /Users/user.name/.devvit/token +Fetching and extracting the template... +Cutting the template to the target directory... + 🔧 Installing dependencies... + 🚀🚀🚀 Devvit app successfully initialized! +┌────────────────────────────────────────────────────┐ +│ • `cd my-app` to open your project directory │ +│ • `npm run dev` to develop in your test community │ +└────────────────────────────────────────────────────┘ +``` + +## Running your app + +To run your app, navigate to your project directory with `cd my-app` and run `npm run dev`. You should see logs that conclude with: + +``` +┌─────────────────────────────────────────────────────────────────────────────┐ +│ ✓ Playtest ready │ +│ ➜ URL: https://www.reddit.com/r/my-app_dev/?playtest=my-app │ +│ ➜ Version: v0.0.0.1 │ +│ ➜ Open the URL above and refresh to see your latest changes. │ +└─────────────────────────────────────────────────────────────────────────────┘ +``` + +Follow this link to see your app. + +## Build and Deploy GameMaker Games to Devvit + +For step-by-step export instructions, see the [GameMaker Reddit Template documentation](https://github.com/YoYoGames/GameMakerRedditTemplate/blob/main/docs/HowToBuild.md). + +## Communicate between GameMaker and Reddit + +GameMaker games communicate with Reddit through HTTP requests. The provided template includes working examples of this data exchange: + +- **GameMaker client code**: [reddit_demo_server_api.gml](https://github.com/YoYoGames/GM-RedditDemo/blob/main/source/Reddit_gml/scripts/reddit_demo_server_api/reddit_demo_server_api.gml) — Shows how to send requests from GameMaker to retrieve user data, save scores, and interact with Reddit features. +- **Devvit server code**: [src/server/index.ts](https://github.com/reddit/devvit-template-gamemaker/blob/main/src/server/index.ts) — Handles incoming requests from GameMaker, accesses Reddit APIs, and stores data in Redis. diff --git a/versioned_docs/version-0.14/quickstart/quickstart-mod-tool.md b/versioned_docs/version-0.14/quickstart/quickstart-mod-tool.md new file mode 100644 index 00000000..b907e557 --- /dev/null +++ b/versioned_docs/version-0.14/quickstart/quickstart-mod-tool.md @@ -0,0 +1,176 @@ +# Mod tool quickstart + +Devvit allows you to build Mod Tools \- subreddit-installed applications that help moderators of that community to take action on conversations, keeping their communities safe and engaged. + +This tutorial should take about 10 minutes to complete. Once complete, you'll be able to run a version of [Comment Mop](https://developers.reddit.com/apps/comment-nuke) in your test subreddit from your own codebase. + +## What you'll need + +- Node.JS (version 22.2.0+) +- A code editor + +## Environment setup + +1. Install Node.JS and NPM ([instructions](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)) +2. Go to [https://developers.reddit.com/new](https://developers.reddit.com/new) and choose Mod Tool under Other templates. +3. Go through the wizard. You will need to create a Reddit account and connect it to Reddit developers. +4. Follow the instructions on your terminal. + +On success, you should see something like this: + +```sh +Your Devvit authentication token has been saved to /Users/user.name/.devvit/token +Fetching and extracting the template... +Cutting the template to the target directory... + 🔧 Installing dependencies... + 🚀🚀🚀 Devvit app successfully initialized! +┌────────────────────────────────────────────────────┐ +│ • `cd my-app` to open your project directory │ +│ • `npm run dev` to develop in your test community │ +└────────────────────────────────────────────────────┘ +``` + +## Understanding the template + +This tutorial lets you build your own version of [Comment Mop](https://developers.reddit.com/apps/comment-nuke). This tool allows moderators to remove and/or lock a full comment tree with a single menu action, avoiding repetitive mechanical tasks for community moderators. + +### Declare a menu action for moderators + +Menu items are declared in `devvit.json`. Each entry points at a server endpoint that runs when a moderator clicks it. The template leverages [Menu Actions](../capabilities/client/menu-actions.mdx) to enable moderators to Delete/Lock child comments of a post or comment. + +![menu actions](../assets/quickstart/quickstart-mod-tool-1.png) + +```json title="devvit.json" +{ + "menu": { + "items": [ + { + "label": "Mop comments", + "description": "Remove this comment and all child comments. This might take a few seconds to run.", + "forUserType": "moderator", + "location": ["comment"], + "endpoint": "/internal/menu/mop-comments" + } + ] + }, + "forms": { + "mopForm": "/internal/form/mop-submit" + }, + "permissions": { + "reddit": { "enable": true, "scope": "moderator" } + } +} +``` + +### Show a form from the menu action + +Some moderator tools need additional information before they execute. The menu endpoint can respond with a form using [menu responses](../capabilities/client/menu-actions.mdx). Comment Mop displays a form with options for the action to be taken: + +![forms](../assets/quickstart/quickstart-mod-tool-2.png) + +```ts title="server/index.ts" +import type { MenuItemRequest, UiResponse } from '@devvit/web/shared'; + +app.post('/internal/menu/mop-comments', async (c) => { + const _input = await c.req.json(); + return c.json({ + showForm: { + name: 'mopForm', + form: { + title: 'Mop Comments', + acceptLabel: 'Mop', + cancelLabel: 'Cancel', + fields: [ + { name: 'remove', label: 'Remove comments', type: 'boolean', defaultValue: true }, + { name: 'lock', label: 'Lock comments', type: 'boolean', defaultValue: false }, + { + name: 'skipDistinguished', + label: 'Skip distinguished comments', + type: 'boolean', + defaultValue: false, + }, + ], + }, + }, + }); +}); +``` + +### Handle the form submission with the Reddit API + +Devvit apps can use the Reddit API to act on comments and posts. The form submission endpoint receives the moderator's selections and traverses the comment tree: + +```ts title="server/index.ts" +import { reddit, context } from '@devvit/web/server'; +import type { UiResponse } from '@devvit/web/shared'; + +type MopFormRequest = { + remove: boolean; + lock: boolean; + skipDistinguished: boolean; +}; + +app.post('/internal/form/mop-submit', async (c) => { + const { remove, lock, skipDistinguished } = await c.req.json(); + const { commentId } = context; + + if (!remove && !lock) { + return c.json({ showToast: 'You must select either lock or remove.' }); + } + + if (!commentId) { + return c.json({ showToast: 'This action must be run on a comment.' }); + } + + try { + const rootComment = await reddit.getCommentById(commentId); + + for await (const comment of walkReplies(rootComment, skipDistinguished)) { + if (remove && !comment.removed) await comment.remove(); + if (lock && !comment.locked) await comment.lock(); + } + + return c.json({ + showToast: 'Comments mopped! Refresh the page to see the cleanup.', + }); + } catch (err) { + console.error(err); + return c.json({ showToast: 'Mop failed! Please try again later.' }); + } +}); + +async function* walkReplies( + comment: Awaited>, + skipDistinguished: boolean, +): AsyncGenerator { + if (skipDistinguished && comment.distinguishedBy) return; + yield comment; + const replies = await comment.replies.all(); + for (const reply of replies) { + yield* walkReplies(reply, skipDistinguished); + } +} +``` + +## Building and Testing + +To build and run your Mod tool, run the following commands on terminal: + +```shell +npm run dev +``` + +If you didn't provide a test subreddit, one will be created for you. Once you run `npm run dev`, you will receive a link to test the mod tool in your test subreddit. + +> Note that this mod tool is intended to be run on comments, so you will need to create a post and comment in your subreddit to see it. + +## Result + +Now you have a mod tool running from the code that you deployed yourself. Feel free to experiment with the code and run `npm run dev` again to see the changes. Notice that you don't need to worry about running costs for your mod tool, because Reddit hosts all Devvit applications for free. Also, if your mod tool becomes popular and gets installed by many subreddits, you may become eligible to earn [Reddit Developer Funds](../earn-money/reddit_developer_funds). + +## Further reading + +- Use our [launch guide](../guides/launch/launch-guide.md) to guide you where to get your first users. +- [Devvit Forms](../capabilities/client/forms.mdx) +- [Menu Actions](../capabilities/client/menu-actions.mdx) +- [Reddit Developer Funds](../earn-money/reddit_developer_funds) diff --git a/versioned_docs/version-0.14/quickstart/quickstart-unity.mdx b/versioned_docs/version-0.14/quickstart/quickstart-unity.mdx new file mode 100644 index 00000000..176be5b4 --- /dev/null +++ b/versioned_docs/version-0.14/quickstart/quickstart-unity.mdx @@ -0,0 +1,151 @@ +# Unity quickstart + +This tutorial walks you through building a Unity app for Devvit. Once complete, you'll see your Unity game running directly within a Reddit post. + +Many great Unity games are already running on Devvit, including [Blokkit](https://www.reddit.com/r/Blokkit/), [OutFloop](https://www.reddit.com/r/OutFloop/), and [Avatar Arena](https://www.reddit.com/r/AvatarsArena/) + +## Try it out + +This starter template creates a simple Unity game and demonstrates data exchange between Reddit and Unity. The example game can be played [here.](https://www.reddit.com/r/unity_starter_dev/comments/1p2fm6y/unitystarter/) + +Unity example + +## What you'll need + +- Node.js (version 22.2.0+) +- A code editor +- Unity 6 (this sample app was built with Unity 6000.2.8f1) +- A Unity Game, if you don't have one yet, you can use the provided [Unity Sample Project](https://github.com/reddit/devvit-unity-project) + +## Environment setup + +1. Install Node.js and npm ([instructions](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)) +2. Go to [developers.reddit.com/new](https://developers.reddit.com/new) and select the Unity template +3. Complete the setup wizard (you'll need to create a Reddit account and connect it to Reddit Developers) +4. Follow the instructions in your terminal + +On success, you should see something like this: + +```sh +Your Devvit authentication token has been saved to /Users/user.name/.devvit/token +Fetching and extracting the template... +Cutting the template to the target directory... + 🔧 Installing dependencies... + 🚀🚀🚀 Devvit app successfully initialized! +┌────────────────────────────────────────────────────┐ +│ • `cd my-app` to open your project directory │ +│ • `npm run dev` to develop in your test community │ +└────────────────────────────────────────────────────┘ +``` + +The Devvit Unity Template includes a pre-built Unity project. The full Unity project source is available [here](https://github.com/reddit/devvit-unity-project). + +## Running your app + +To run your app, navigate to your project directory with `cd my-app` and run `npm run dev`. You should see logs that conclude with: + +``` +┌─────────────────────────────────────────────────────────────────────────────┐ +│ ✓ Playtest ready │ +│ ➜ URL: https://www.reddit.com/r/my-app_dev/?playtest=my-app │ +│ ➜ Version: v0.0.0.1 │ +│ ➜ Open the URL above and refresh to see your latest changes. │ +└─────────────────────────────────────────────────────────────────────────────┘ +``` + +Follow this link to see your app. + +## Devvit project structure + +Your project contains the following folder structure, with each folder handling a specific part of your app: + +**`src/client`:** +Contains client-side code for your application. This is where you'll export your Unity game and customize your launch screen. + +**`src/server`:** +Contains server-side code for your application. This is where you communicate between Reddit and your Unity app, send data back and forth, save data on Reddit, handle post creation, and start your experience. + +**`src/shared`:** +Contains classes, types, and interfaces shared between the client and server. + +**`devvit.json`:** +Configuration file for Reddit-specific services your application uses. For more information, refer to [Devvit Configuration](../capabilities/devvit-web/devvit_web_configuration). + +**`src/client/public/Build`:** +The destination for your Unity project exports. + +**`src/client/public/TemplateData`:** +Contains Unity assets for the Unity loading screen. Customize these as needed for your use case. + +**`src/client/splash`:** +Contains the code for `splash.html`, the first screen users see when your post appears. From here, users launch into the Unity game. + +**`src/client/script.ts`:** +Contains the code to load your Unity instance. This script powers `index.html`. + +## Updating your Unity project + +The starter template includes 4 files in the `src/client/public/Build` folder. You'll need to replace these 3 files from your export: + +- SampleGame.data.unityweb +- SampleGame.framework.js +- SampleGame.wasm.unityweb + +To replace these files, export your project from Unity twice: once with compression and once without. + +1. In Unity, select **File > Build Profiles** and switch the active platform to **Web** +2. In the Build Profiles window, select **Player Settings** to open the Player Settings window +3. In Player Settings, scroll down to **Publishing Settings** and ensure **Decompression Fallback** is selected +4. Build your project twice: + + a. Set **Compression Format** to **GZip** and select **Build** in the Build Profiles window + b. Copy these files into your `src/client/Public/Build` folder: + + - `exportName.data.unityweb` + - `exportName.wasm.unityweb` + + c. In Publishing Settings, set **Compression Format** to **Disabled** and select **Build** again + d. Copy this file into your `src/client/Public/Build` folder: + + - `exportName.framework.js` + +5. If you used a name other than `SampleGame`, update `src/client/script.ts` lines 29-34 to point to your new files + +6. Run `npm run dev` in your Devvit project to see your Unity app running on Reddit + +:::warning +File uploads have a 100 MB size limit and a 30-second timeout. We’re working to improve these limits. If you encounter issues, try splitting large files or using a faster network connection. +::: + +## Communicate between Unity and Reddit + +The Unity app includes a [DevvitBridge.cs](https://github.com/reddit/devvit-unity-project/blob/main/Assets/Scripts/DevvitBridge.cs) file that uses UnityWebRequests to communicate with the `src/server/index.ts` file. + +For example, the following sends a message to the server, which receives the event, loads data from Reddit, and replies with the specified data. + +```csharp +UnityWebRequest request = UnityWebRequest.Get("/api/init"); +yield return request.SendWebRequest(); +``` + +:::note +Be sure that the object structure for the response type (such as `InitResponse` defined in `shared/types/api.ts`) matches the ones outlined in your `DevvitBridge.cs` file. +::: + +### Saving data to Reddit + +This starter project also includes an example of saving the completion time to Reddit through the `LevelCompletedRequest`. For Devvit apps, data is stored in [Redis](../capabilities/server/redis). + +```ts +const redisKey = `${postId}:${username}`; +await redis.set(redisKey, time); +``` diff --git a/versioned_docs/version-0.14/quickstart/quickstart.md b/versioned_docs/version-0.14/quickstart/quickstart.md new file mode 100644 index 00000000..04754196 --- /dev/null +++ b/versioned_docs/version-0.14/quickstart/quickstart.md @@ -0,0 +1,96 @@ +# App quickstart + +This tutorial takes you through the step-by-step process of building your first app with Devvit. It should take you about 1 minute to complete. Once complete, you'll be able to see your app in a Reddit post + +## Try it out + +This starter template will [create an app like this for you](https://www.reddit.com/r/test_devvit_demos/comments/1mk4ql4/test3jsdevvit/) running on Reddit. It consists of a simple react-based counter app that calls backend functions. + +## What you'll need + +- Node.JS (version 22.2.0+) +- A code editor + +## Environment setup + +1. Install Node.JS and NPM ([instructions](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)) +2. Go to [developers.reddit.com/new](https://developers.reddit.com/new) and choose the React template. +3. Go through the wizard. You will need to create a Reddit account and connect it to Reddit developers. +4. Follow the instructions on your terminal. + +On success, you should see something like this: + +```sh +Your Devvit authentication token has been saved to /Users/user.name/.devvit/token +Fetching and extracting the template... +Cutting the template to the target directory... + 🔧 Installing dependencies... + 🚀🚀🚀 Devvit app successfully initialized! +┌────────────────────────────────────────────────────┐ +│ • `cd my-app` to open your project directory │ +│ • `npm run dev` to develop in your test community │ +└────────────────────────────────────────────────────┘ +``` + +## Running your app + +To run your app, `cd my-app` and then run `npm run dev`. You should see some logs start up that finish with: + +``` +┌─────────────────────────────────────────────────────────────────────────────┐ +│ ✓ Playtest ready │ +│ ➜ URL: https://www.reddit.com/r/my-app_dev/?playtest=my-app │ +│ ➜ Version: v0.0.0.1 │ +│ ➜ Open the URL above and refresh to see your latest changes. │ +└─────────────────────────────────────────────────────────────────────────────┘ +``` + +The dev command automatically creates a development subreddit for your app and a test post for you to develop against. When you visit the url, it should look something like this. + +![subreddit view](../assets/quickstart_game_subreddit.png) + +Click the `Launch App` button to see your app! + +## Devvit architecture + +Once the project is checked out you'll see the following folder structure. Each of the folders is responsible for a part of your app: + +**`src/client`:** +This contains the client-side code for your application. You can use any web framework for your frontend (React, Vue, Angular, etc.). In this example, we chose react. + +**`src/server`:** +This contains the server-side code for your application. You will need to build a node-compatible server that handles API calls from the client-side. This is where you will write code for persistence, real-time message sharing between players, payment validation, etc. For this example we chose to use [express.JS](https://expressjs.com/) + +**`src/shared`:** +This contains classes, types and interfaces that are shared between the client and the server + +**`devvit.json`:** +This special file in the root of the project contains configurations for many of the Reddit-specific services that your application can use. For more information on `devvit.json` please refer to Configuration (devvit.json) + +## Testing your app on a specific subreddit + +You need to test your app on a subreddit. Your backend calls will not work when testing the app locally. For that we will be leveraging Devvit's Playtest tool. If you have a preference for a specific subreddit to playtest, change the `package.json` file to include your subreddit name in `dev`: + +```javascript title="package.json" +"scripts": { + //... + "dev": "devvit playtest r/MY_PREFERRED_SUBREDDIT", + //... +} +``` + +After adding the subreddit, use `npm run dev` to see the app on the new subreddit. + +## Launching your app + +Use our [launch guide](../guides/launch/launch-guide.md) to guide you where to get your first users. + +When you are ready to launch your app, run `npm run launch`. This will upload your app to Reddit for our team to review. All apps must be reviewed before they can be installed on subreddits > 200 members. We will send you an email once your app is approved. + +## Result + +Now you have an application that runs inside of a Reddit post. You can now use this scaffolding to build your own application or app with Devvit. + +## Further reading + +- [Launching and Promoting your game](../guides/launch/launch-guide.md) diff --git a/versioned_sidebars/version-0.14-sidebars.json b/versioned_sidebars/version-0.14-sidebars.json new file mode 100644 index 00000000..2991d31f --- /dev/null +++ b/versioned_sidebars/version-0.14-sidebars.json @@ -0,0 +1,393 @@ +{ + "tutorialSidebar": [ + { + "type": "html", + "value": "Introduction", + "className": "sidebar-section-header" + }, + { + "type": "doc", + "id": "introduction/introduction", + "label": "Welcome to Devvit" + }, + { + "type": "doc", + "id": "capabilities/devvit-web/devvit_web_overview", + "label": "Devvit Technical Overview" + }, + { + "type": "doc", + "id": "examples/app-showcase", + "label": "App Showcase" + }, + { + "type": "html", + "value": "
", + "className": "sidebar-divider", + "defaultStyle": false + }, + { + "type": "html", + "value": "Build Your App", + "className": "sidebar-section-header", + "defaultStyle": false + }, + { + "type": "category", + "label": "Build Games", + "items": [ + { + "type": "doc", + "id": "introduction/intro-games", + "label": "Introduction to Games" + }, + { + "type": "doc", + "id": "quickstart/quickstart", + "label": "Quickstart for Games" + }, + { + "type": "doc", + "id": "quickstart/quickstart-unity", + "label": "Quickstart for Unity" + }, + { + "type": "doc", + "id": "quickstart/quickstart-gamemaker", + "label": "Quickstart for GameMaker" + } + ] + }, + { + "type": "category", + "label": "Build Mod Tools", + "items": [ + { + "type": "doc", + "id": "introduction/intro-mod-tools", + "label": "Introduction to Mod Tools" + }, + { + "type": "doc", + "id": "quickstart/quickstart-mod-tool", + "label": "Quickstart for Mod Tools" + } + ] + }, + { + "type": "html", + "value": "
", + "className": "sidebar-divider", + "defaultStyle": false + }, + { + "type": "html", + "value": "Launch Your App", + "className": "sidebar-section-header", + "defaultStyle": false + }, + { + "type": "doc", + "id": "guides/launch/launch-guide", + "label": "Launch Guide" + }, + { + "type": "doc", + "id": "guides/launch/feature-guide", + "label": "Feature Guide" + }, + { + "type": "link", + "href": "https://support.reddithelp.com/hc/en-us/articles/27958169342996-Reddit-Developer-Funds-2025-Terms", + "label": "Developer Funds - Current" + }, + { + "type": "link", + "href": "https://support.reddithelp.com/hc/en-us/articles/50860336905108-Reddit-Developer-Funds-H2-2026-Terms", + "label": "Developer Funds - August 2026" + }, + { + "type": "html", + "value": "
", + "className": "sidebar-divider", + "defaultStyle": false + }, + { + "type": "html", + "value": "Capabilities", + "className": "sidebar-section-header", + "defaultStyle": false + }, + { + "type": "category", + "label": "Devvit Setup Overview", + "items": [ + { + "type": "doc", + "id": "capabilities/devvit-web/devvit_web_configuration", + "label": "Devvit Configuration" + }, + { + "type": "doc", + "id": "capabilities/client/overview", + "label": "Client Overview" + }, + { + "type": "doc", + "id": "capabilities/server/overview", + "label": "Server Overview" + } + ] + }, + { + "type": "category", + "label": "Analytics", + "items": [ + "capabilities/analytics/devvit-journeys", + "capabilities/analytics/journeys-dashboard", + "capabilities/analytics/journeys-receipts", + "capabilities/analytics/pn-analytics" + ] + }, + { + "type": "category", + "label": "Automation & Triggers", + "items": [ + "capabilities/server/scheduler", + "capabilities/server/triggers", + "capabilities/server/global-triggers" + ] + }, + { + "type": "doc", + "label": "External Endpoints", + "id": "capabilities/server/external-endpoints" + }, + { + "type": "doc", + "label": "HTTP Fetch", + "id": "capabilities/http-fetch" + }, + { + "type": "category", + "label": "In-App Purchases", + "items": [ + "earn-money/payments/payments_overview", + "earn-money/payments/payments_add", + "earn-money/payments/payments_test", + "earn-money/payments/payments_publish", + "earn-money/payments/payments_manage", + "earn-money/payments/support_this_app" + ] + }, + { + "type": "category", + "label": "Notifications", + "items": [ + "capabilities/notifications/notifications-overview", + "capabilities/notifications/pn-best-practices", + "capabilities/notifications/adding-streaks" + ] + }, + { + "type": "category", + "label": "Post Creation & Navigation", + "items": [ + "capabilities/creating_custom_post", + "capabilities/client/navigation", + "capabilities/client/toasts", + "capabilities/client/menu-actions", + { + "type": "category", + "label": "Launch Screen", + "collapsed": true, + "items": [ + "capabilities/server/launch_screen_and_entry_points/launch_overview", + "capabilities/server/launch_screen_and_entry_points/view_modes_entry_points", + "capabilities/server/launch_screen_and_entry_points/launch_screen_customization" + ] + } + ] + }, + { + "type": "category", + "label": "Realtime Apps", + "items": [ + "capabilities/realtime/overview" + ] + }, + { + "type": "category", + "label": "Reddit API", + "items": [ + { + "type": "doc", + "label": "Reddit API Overview", + "id": "capabilities/server/reddit-api" + }, + { + "type": "doc", + "label": "Reddit API Client", + "id": "api/redditapi/RedditClient/classes/RedditClient" + }, + { + "type": "category", + "label": "Classes", + "items": [ + { + "type": "autogenerated", + "dirName": "api/redditapi/models/classes" + } + ] + }, + { + "type": "category", + "label": "Interfaces", + "items": [ + { + "type": "autogenerated", + "dirName": "api/redditapi/models/interfaces" + } + ] + } + ] + }, + { + "type": "doc", + "label": "Settings & Secrets", + "id": "capabilities/server/settings-and-secrets" + }, + { + "type": "category", + "label": "Storing Data", + "items": [ + "capabilities/server/blob-storage", + "capabilities/server/redis", + "capabilities/server/cache-helper", + "capabilities/server/post-data" + ] + }, + { + "type": "category", + "label": "User Input", + "items": [ + "capabilities/server/media-uploads", + "capabilities/client/forms", + "capabilities/server/userActions" + ] + }, + { + "type": "html", + "value": "
", + "className": "sidebar-divider", + "defaultStyle": false + }, + { + "type": "html", + "value": "Guides", + "className": "sidebar-section-header", + "defaultStyle": false + }, + { + "type": "category", + "label": "Best Practices", + "items": [ + "guides/best-practices/community_games", + "guides/best-practices/mod_resources", + "capabilities/server/text_fallback" + ] + }, + { + "type": "category", + "label": "Development Tools", + "items": [ + "guides/tools/devvit_cli", + "guides/tools/devvit_test", + "guides/tools/logs", + "guides/tools/playtest", + "guides/tools/ui_simulator", + "guides/tools/multiple_developers", + "guides/tools/vite" + ] + }, + { + "type": "category", + "label": "Migration Guides", + "items": [ + "guides/migrate/devvit-singleton", + "guides/migrate/devvit-web-experimental", + "guides/migrate/inline-web-view", + { + "type": "category", + "label": "Migrating from PRAW to Devvit Web", + "collapsed": false, + "items": [ + { + "type": "doc", + "label": "Overview", + "id": "guides/migrate/public-api" + }, + { + "type": "doc", + "label": "Migration Basics", + "id": "guides/migrate/public-api/basics" + }, + { + "type": "doc", + "label": "Migrating with AI", + "id": "guides/migrate/public-api/ai-migration" + } + ] + } + ] + }, + { + "type": "doc", + "label": "Building for Logged Out Players", + "id": "guides/logged-out-users" + }, + { + "type": "doc", + "label": "Template Library", + "id": "examples/template-library" + }, + { + "type": "doc", + "label": "Using AI Tools", + "id": "guides/ai/ai" + }, + { + "type": "doc", + "label": "FAQ", + "id": "guides/faq" + }, + { + "type": "html", + "value": "
", + "className": "sidebar-divider", + "defaultStyle": false + }, + { + "type": "doc", + "label": "Changelog", + "id": "changelog" + }, + { + "type": "doc", + "label": "Devvit Rules", + "id": "devvit_rules" + }, + { + "type": "link", + "label": "Discord", + "href": "https://developers.reddit.com/discord", + "className": "sidebar-icon-link discord-link" + }, + { + "type": "link", + "label": "r/Devvit", + "href": "https://www.reddit.com/r/Devvit", + "className": "sidebar-icon-link subreddit-link" + } + ] +} diff --git a/versions.json b/versions.json index b4159cd3..907d6266 100644 --- a/versions.json +++ b/versions.json @@ -1,4 +1,5 @@ [ + "0.14", "0.13", "0.12", "0.11"