diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 42a8e0d605..232219eda5 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -45,7 +45,7 @@ For example:
> Something that requires warning here
```
-
+
### MDX Components
@@ -56,6 +56,7 @@ There are a few reusable MDX components that can be used on pages with the `mdx`
Collapsibles allow you to show/hide content on a page that may be secondary to the page's primary content. They have four fields that can be set: `title`, `description`, `icon`, and an `open` flag (which makes the collapsible element open by default).
Available options for `icon`:
+
- `"list"`
- `"view"`
- `"question"`
@@ -64,7 +65,7 @@ Available options for `icon`:
###### Example
-
+
```markdown
@@ -78,7 +79,7 @@ Buttons are simply... clickable buttons. They take `href` and `color` as argumen
###### Example
-
+
```markdown
click the button!
@@ -90,7 +91,7 @@ Cards let you display links in a card format. They accept two arguments, `title`
###### Example
-
+
```markdown
diff --git a/docs/activities/building-an-activity.mdx b/docs/activities/building-an-activity.mdx
index 7218beb3ad..4a96e25b99 100644
--- a/docs/activities/building-an-activity.mdx
+++ b/docs/activities/building-an-activity.mdx
@@ -16,7 +16,7 @@ It assumes an understanding of [JavaScript](https://developer.mozilla.org/en-US/
-
+
@@ -142,7 +142,7 @@ You can learn more about the OAuth flow and redirect URIs in the [OAuth2 documen
Click on **OAuth2** on the sidebar in your app's settings. Under **Redirects**, enter `https://127.0.0.1` as a placeholder value then click **Save Changes**.
-
+
### Fetch Your OAuth2 Credentials
@@ -297,7 +297,7 @@ Because Activities are in a sandbox enviornment and go through the Discord proxy
Back in your app's settings, click on the **URL Mappings** page under **Activities** on the left-hand sidebar. Enter the URL you generated from `cloudflared` in the previous step.
-
+
| PREFIX | TARGET |
|--------|-----------------------------------------|
@@ -311,7 +311,7 @@ Next, we'll need to enable Activities for your app. On the left hand sidebar und
Find the first checkbox, labeled `Enable Activities`. Turn it on 🎉
-
+
#### Default Entry Point Command
@@ -328,7 +328,7 @@ Navigate to your Discord test server and, in any voice and or text channel, open
Clicking on your app will launch your locally running app from inside Discord!
-
+
> info
> **Customizing your Activity**
If you'd like to set images for your Activity, you can learn how to do that [here](#DOCS_ACTIVITIES_DEVELOPMENT_GUIDES/setting-up-activity-metadata).
@@ -356,7 +356,7 @@ We will use `express` for this example, but any backend language or framework wi
This diagram illustrates the common pattern for granting a user an OAuth2 access_token:
-
+
We will be implementing this pattern in this tutorial, but more example implementations can also be found in this sample project:
@@ -529,7 +529,7 @@ document.querySelector('#app').innerHTML = `
Now if we relaunch our app, we'll be prompted to authorize with Discord using the `identify`, `guilds`, and `applications.commands` scopes.
-
+
> warn
> **Safe storage of tokens**
@@ -592,7 +592,7 @@ setupDiscordSdk().then(() => {
If you close and rejoin the Activity, you should now see the name of the current channel.
-
+
@@ -665,7 +665,7 @@ setupDiscordSdk().then(() => {
If we relaunch our Activity, we will see the current server's avatar render in our Activity.
-
+
diff --git a/docs/activities/design-patterns.mdx b/docs/activities/design-patterns.mdx
index 304c1c0312..2958b03418 100644
--- a/docs/activities/design-patterns.mdx
+++ b/docs/activities/design-patterns.mdx
@@ -49,7 +49,7 @@ When in an Activity with others, make the actions and presence of the others vis
- If a user has customized their server nickname or avatar, use their server nickname or avatar in game.
- Show when a user is speaking in the voice call, or whether they're active or inactive.
-
+
### Respect user privacy
@@ -67,7 +67,7 @@ Make your app fast, easy to join, and maximize fun to launch a crowd favorite.
- Surprise and delight is about caring about the small details of how a person experiences your work.
- Put the right emotion in when they least expect it to deliver the magic.
-
+
### Keep load times as low as possible
- This allows for easier drop-in drop-out behavior for the large portion of mobile users on Discord.
@@ -80,7 +80,7 @@ Make your app fast, easy to join, and maximize fun to launch a crowd favorite.
- Activities are frictionless to join and easy to discover, so you can expect that users will join mid-experience. Give those users something to do, even if it's just letting them spectate until they can join without being disruptive. In the same vein, users can leave without notice or become afk (away from keyboard). Handle these cases gracefully.
- Create a case for users who have joined a call but have not yet started playing or engaging. Allow these users to "spectate" other users who are playing. This can also be helpful for Activities that have an ideal number in mind for play.
-
+
### Make your app as available as possible
@@ -105,7 +105,7 @@ Discord is a social platform where users talk to each other. Sharing and invites
- Share photos or GIFs that capture moments of fun and memorable, or something to brag about. Don't make things shareable just to feature the activity.
- Sharing a high score alone may not be very engaging, but sharing a really good move made in a game, or a collaborative drawing that creates a memory is a conversation starter and may make others want to join in on the fun.
-
+
#### Activities in Text Channels
- The Activity user interface, copy and user flows should not rely on people in voice to explain, organize, clarify, or instruct about how the activity works.
diff --git a/docs/activities/development-guides.mdx b/docs/activities/development-guides.mdx
index 4b6856702a..c4a18d2d6c 100644
--- a/docs/activities/development-guides.mdx
+++ b/docs/activities/development-guides.mdx
@@ -172,7 +172,7 @@ https://funky-jogging-bunny.trycloudflare.com
In the Discord Developer Portal, update the Application URL mapping for `/` url to `funky-jogging-bunny.trycloudflare.com` to match your network tunnel address and save your changes.
-
+
> warn
> If you do not own the URL that you are using to host the application (i.e. ngrok's free tier), someone else could claim that domain and host a malicious site in its place. Please be aware of these risks, and if you have to use a domain you do not own, be sure to reset your URL mapping when you are done using the tunnel.
@@ -189,7 +189,7 @@ The flow for setting up your production application is very similar:
4. Follow the instructions for [Launching your Application from the Discord Client](#DOCS_ACTIVITIES_DEVELOPMENT_GUIDES/launch-your-application-from-the-discord-client)). Application URL Override should not be enabled.
This application now uses the same configuration it will use once it is fully published ✨.
-
+
---
@@ -226,7 +226,7 @@ Because your application is "sandboxed", it will be unable to make network reque
To add or modify your application's URL mappings, click on `Activities -> URL Mappings` and set the prefix and target values for each mapping as needed.
-
+
#### Prefix/Target formatting rules
@@ -238,10 +238,10 @@ To add or modify your application's URL mappings, click on `Activities -> URL Ma
- Targets must point to a directory; setting a target to a file (e.g. `example.com/index.html`) is unsupported and may lead to unexpected behavior.
- Because of how URL globbing works, if you have multiple prefix urls with the same initial path, you must place the shortest of the prefix paths last in order for each url mapping to be reachable. For example, if you have `/foo` and `/foo/bar`, you must place the url `/foo/bar` before `/foo` or else the mapping for `/foo/bar` will never be reached.
-| ✅ DO | ❌ DON'T |
-|------------------------------------------------------|------------------------------------------------------------|
-| Requests mapped correctly | Requests to /foo/bar will incorrectly be sent to `foo.com` |
-|  |  |
+| ✅ DO | ❌ DON'T |
+|-------------------------------------------------------------|-----------------------------------------------------------------|
+| Requests mapped correctly | Requests to /foo/bar will incorrectly be sent to `foo.com` |
+|  |  |
#### Exceptions
@@ -291,7 +291,7 @@ The first section of Debug Logs are not your application logs but Discord specif
When you scroll down the page, your application logs should be visible.
-
+
#### Sharing Application Logs from Mobile
@@ -346,7 +346,7 @@ discordSdk.commands.openExternalLink({
#### User Experience
-
+
Users will see a modal inside the Discord app notifying them whether or not they want to proceed. By clicking **_Trust this Domain_**, users will not see a modal for that specific domain again.
@@ -381,7 +381,7 @@ try {
User Experience
-
+
Users will see a modal inside the Discord app allowing them to send an invite to a channel, friend, or copy an invite link to share manually.
@@ -434,7 +434,7 @@ await discordSdk.commands.openShareMomentDialog({mediaUrl});
User Experience
-
+
---
@@ -502,7 +502,7 @@ console.log(`Hardware Acceleration is ${enabled === true ? 'enabled' : 'disabled
#### User Experience
-
+
---
@@ -516,7 +516,7 @@ By default, your Activity will be launchable on web/desktop. To enable or disabl
- Select `Activities` -> `Settings` in the left-side of the developer portal, or visit `https://discord.com/developers//embedded/settings`
- From check the appropriate checkboxes in the developer portal, and save your changes
-
+
---
@@ -621,7 +621,7 @@ discordSdk.commands.setOrientationLockState({
It's also possible to configure an application with a default orientation lock state via the Developer Portal. Using this method, the Discord app will apply the orientation lock when launching the application before the SDK has been initialized. This can create a smoother application launch flow where the application starts in the correct orientation rather than switching to the correct orientation after some delay after the application requests an orientation lock via the SDK. The Developer Portal supports setting a different default orientation lock states for phones versus tablets.
-
+
#### Subscribing to Screen Orientation Updates
@@ -772,7 +772,7 @@ Rest assured: other activities will not be able to make requests with your activ
When a user clicks "Join Application", they expect to enter the same application that their friends are participating in. Whether the application is a shared drawing canvas, board game, collaborative playlist, or first-person shooter; the two users should have access to the same shared data. In this documentation, we refer to this shared data as an **application instance**.
-
+
The Embedded App SDK allows your app to talk bidirectionally with the Discord Client. The `instanceId` is necessary for your application, as well as Discord, to understand which unique instance of an application it is talking to.
@@ -1027,7 +1027,7 @@ Once you're satisfied with your changes you can click on the copy icon on the ro
#### User Experience
-
+
Users will see an embed with your information displayed. Clicking "Play" opens the activity and passes through the `custom_id` you've set. A `referrer_id` will be present for links shared on Discord.
@@ -1091,7 +1091,7 @@ curl https://discord.com/api/applications/1215413995645968394/activity-instances
With this API, the activity's backend can verify that a client is in fact in an instance of that activity before allowing the client to participate in any meaningful gameplay. How an activity implements "session verification" is left to the developer's discretion. The solution can be as granular as gating specific features or as binary as not returning the activity HTML except for valid sessions.
In the below flow diagram, we show how the server can deliver the activity website, only for valid users in a valid activity instance:
-
+
---
diff --git a/docs/activities/how-activities-work.md b/docs/activities/how-activities-work.md
index b01b317e82..38fdf4cb35 100644
--- a/docs/activities/how-activities-work.md
+++ b/docs/activities/how-activities-work.md
@@ -60,4 +60,4 @@ async function setup() {
This diagram illustrates the communication flow between your application and Discord in the sample code above.
-
+
diff --git a/docs/activities/overview.mdx b/docs/activities/overview.mdx
index ff7b956c94..51311d50d7 100644
--- a/docs/activities/overview.mdx
+++ b/docs/activities/overview.mdx
@@ -4,7 +4,7 @@ sidebar_label: Overview
# Overview of Activities
-
+
**Activities** are multiplayer games and social experiences that can be launched in Discord. Activities can integrate with Discord features like user identity, voice and chat, profile data like Rich Presence, and native monetization.
diff --git a/docs/change-log/2022-11-17-upcoming-application-command-permission-changes.md b/docs/change-log/2022-11-17-upcoming-application-command-permission-changes.md
index 1213ddb54d..6ce7bc4856 100644
--- a/docs/change-log/2022-11-17-upcoming-application-command-permission-changes.md
+++ b/docs/change-log/2022-11-17-upcoming-application-command-permission-changes.md
@@ -70,7 +70,7 @@ If a command-level configuration does not exist for the given context, the syste
Below is a simplified flowchart that illustrates how permissions will be applied by the Discord client after the new changes take effect.
-
+
#### 2. `APPLICATION_COMMAND_PERMISSIONS_V2` Guild Feature
diff --git a/docs/developer-tools/game-sdk.mdx b/docs/developer-tools/game-sdk.mdx
index f754b0bbe3..57fc01cb0f 100644
--- a/docs/developer-tools/game-sdk.mdx
+++ b/docs/developer-tools/game-sdk.mdx
@@ -232,11 +232,11 @@ You're ready to go! Check out the rest of the documentation for more info on how
In your project folder, you'll want to make something like a "discord-files" folder, for organization. In that folder, copy all the `.h` and `.cpp` files from the zip.
You want to include all the header and source files respectively in your project
-
+
In your project settings, you'll want to include the relevant library (e.g. `discord_game_sdk.dll.lib`) as an additional dependency.
-
+
- From there, you should be able to `#include "discord-files/discord.h"`, or whatever the path to that header file is, and have access to the code.
@@ -1274,7 +1274,7 @@ Opens the overlay widget for voice settings for the currently connected applicat
-
+
Returns a `Discord.Result` via callback.
@@ -1333,7 +1333,7 @@ overlayManager.OpenActivityInvite(ActivityActionType.Join, (result) =>
And that invite modal looks like this!
-
+
diff --git a/docs/discord-social-sdk/design-guidelines/branding-guidelines.mdx b/docs/discord-social-sdk/design-guidelines/branding-guidelines.mdx
index 7d27bb00ec..a311479807 100644
--- a/docs/discord-social-sdk/design-guidelines/branding-guidelines.mdx
+++ b/docs/discord-social-sdk/design-guidelines/branding-guidelines.mdx
@@ -12,7 +12,7 @@ Download the Discord word-mark assets [discord.com/branding](https://discord.com
Please do not edit, change, distort, recolor, or reconfigure the Discord logo.
-
+
## Buttons
@@ -26,7 +26,7 @@ The Flexible buttons are intended to be restyled to match the game's aesthetic (
These pre-styled buttons leverage colors vetted by our Design Systems team to pass contrast ratios across different backgrounds.
-
+
## Spacing
@@ -34,7 +34,7 @@ Ensure that there is adequate spacing between button text and the Discord logo a
When using the Flexible button styling, ensure that your typeface's baseline and x-height are aligned to the Discord logo.
-
+
## Resources
diff --git a/docs/discord-social-sdk/design-guidelines/connection-points.mdx b/docs/discord-social-sdk/design-guidelines/connection-points.mdx
index 5064e1634c..55dacfb67d 100644
--- a/docs/discord-social-sdk/design-guidelines/connection-points.mdx
+++ b/docs/discord-social-sdk/design-guidelines/connection-points.mdx
@@ -16,7 +16,7 @@ Discord's sign-in button is presented as the **primary option** to log-in for th
Please use the [**Blurple Button**](#DOCS_DISCORD_SOCIAL_SDK_DESIGN_GUIDELINES_BRANDING_GUIDELINES/buttons) button styling for the sign-in connection point.
-
+
## Friends list
@@ -26,7 +26,7 @@ Select your preferred _button-styling_ for the friends list connection point (se
After the player connects their account, the connection point is no longer visible.
-
+
## Content Guidelines
@@ -34,7 +34,7 @@ Please use the strings shown here within the relevant contexts.
These connection point strings should be consistent across all games that use the Discord Social SDK to help the user build recognition, trust, and understanding when taking this action.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/consoles.mdx b/docs/discord-social-sdk/design-guidelines/consoles.mdx
index 106295b0c9..45c5f657ed 100644
--- a/docs/discord-social-sdk/design-guidelines/consoles.mdx
+++ b/docs/discord-social-sdk/design-guidelines/consoles.mdx
@@ -14,7 +14,7 @@ Players expect a consistent Discord social experience across devices—whether o
Console players **will need a secondary device** to experience the full benefits of the Discord Social SDK.
-
+
## Connect to Discord on console
@@ -24,25 +24,25 @@ Users will need to use a mobile device or computer in order to avoid the clunky
A player without an existing Discord account can create one easily on the web.
-
+
Users can skip the device code screen by scanning the QR code with their mobile camera. They will be prompted to authorize the game. If the Discord app is not detected upon scanning, users are prompted to sign in and connect via the web browser.
If a player does not wish to use the QR scan, they will need to go to discord.com/activate to enter the 8-digit code.
-
+
## Chatting on console
Game chat will be available for games who support the feature on consoles. However, unsupported rich media from Discord (i.e. attachments, polls, voice messages, etc.) should not include a clickable link icon. Similar to the auth flow, we do not want to encourage players to visit Discord in the console web browser—they should use secondary devices to view this content.
-
+
## Friends list on console
Please leverage the same [friends list guidelines](#DOCS_DISCORD_SOCIAL_SDK_DESIGN_GUIDELINES_UNIFIED_FRIENDS_LIST) previously documented in the playbook. There are no notable differences in the friends list on console in comparison to other devices. However, consoles do not support hover interactions so there needs to be console-friendly way for players to access secondary information (such as alternate identities) about friends in the list.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/direct-messages.mdx b/docs/discord-social-sdk/design-guidelines/direct-messages.mdx
index 7a010ead70..b7714df46f 100644
--- a/docs/discord-social-sdk/design-guidelines/direct-messages.mdx
+++ b/docs/discord-social-sdk/design-guidelines/direct-messages.mdx
@@ -13,20 +13,20 @@ The badging logic in direct-messages is consistent with the logic detailed in th
If the user is **online elsewhere** and is not in the game client, their usernames will include a **Discord badge**. Once they're online in the game-client, they will not retain the Discord badge.
-
+
## Message styling
Style the Discord logo to match a player's username color. The logo should feel tied to a user's identity, not the message content.
-
+
## Unsupported rich media
Regardless of whether a user has signed into Discord, unsupported rich media content should be paired with an **external link icon**.
When content isn't clickable, don't show the icon.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/game-friends.mdx b/docs/discord-social-sdk/design-guidelines/game-friends.mdx
index a382c3238c..91743b31de 100644
--- a/docs/discord-social-sdk/design-guidelines/game-friends.mdx
+++ b/docs/discord-social-sdk/design-guidelines/game-friends.mdx
@@ -15,7 +15,7 @@ We've heard from players that they want more of a distinction between connection
Users want more controls over how in-game relationships extend beyond the game client with communication, presence, and identity.
-
+
## Game Friends — A new tier
@@ -23,7 +23,7 @@ Discord is introducing a new tier of friendship called **Game Friends**.
Game Friends are a way to create an in-game relationship with another player that provides all of the in-game benefits, but limits how the relationship extends outside the game.
-
+
## Game vs Discord Friends
@@ -35,13 +35,13 @@ A Game Friend **can reach Discord-connected friends outside the game** by DMing
A Game Friend **cannot see your rich presence** beyond the game your friendship originated in. The exception is if both friends have their Discord accounts connected and are in a shared server.
-
+
## Equally-weighted
When adding a new friend, **present two options to players with "Game Friends" listed first**, since it's the more localized/limited friend-tier. Please ensure that neither type of friend is pre-selected in the UI — present them equally to the user (ordering aside for above reasons).
-
+
## Adding friends
@@ -49,31 +49,31 @@ If the user is not yet a friend, show both options of adding as either a Game or
If a user is already your Game Friend, show the action to also add them on Discord.
-
+
## Removing friends
When removing a Game Friend or Discord Friend, show players the standard "Remove Friend" action. The SDK will remove the friend across whatever friendships are applicable.
-
+
## Style guidelines
When removing a Game Friend or Discord Friend, show players the standard "Remove Friend" action. The SDK will remove the friend across whatever friendships are applicable.
-
+
## UX, not UI
The visual styling of the "Add Friend" menu-items is not intended to be prescriptive. So long as both options are equally-weighted, please use whichever UI fits your game's needs.
-
+
## Setting on Discord
This mock showcases how the corresponding DM looks within Discord's UI.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/linked-channels.mdx b/docs/discord-social-sdk/design-guidelines/linked-channels.mdx
index 93c5f18262..2a64c3e799 100644
--- a/docs/discord-social-sdk/design-guidelines/linked-channels.mdx
+++ b/docs/discord-social-sdk/design-guidelines/linked-channels.mdx
@@ -10,11 +10,11 @@ sidebar_label: Linked Channels
Empower players to continue their conversations beyond the game. Now you can link an in-game chat to a text-channel on Discord.
-
+
### Linking a channel via the game
-
+
## Style guidelines
@@ -30,7 +30,7 @@ The official feature-name that will be reflected across the Discord client is "L
Please use the string guidance from above: "Link \{groupChat\} to Discord." For interface, use whichever UI treatment that fits your game's needs.
-
+
## Selecting a channel
@@ -44,7 +44,7 @@ Please include the following in the selection UI:
- List of **servers** and their nested **text-channels** with respective iconography (ie, private channel has a lock)
- **Search bar** for channel-names
-
+
## Setup warning
@@ -52,7 +52,7 @@ Players can link channels with **limited access** on Discord. Doing so will allo
Show a **warning** when a user is about to link to a channel with limited access. We strongly recommend you use the copy shown to the right image.
-
+
## Success state & Entrypoint
@@ -62,7 +62,7 @@ Separately, create a **persistent entrypoint** somewhere in the game UI. This pe
[You can download the official "Linked Channels" channel-icon in our GitHub repository.](https://github.com/discord/discord-api-docs/blob/main/resources/discord-social-sdk)
-
+
## Removing Channel Link
@@ -72,7 +72,7 @@ Players can remove the channel link from either the game client or the Discord c
When "Remove channel-link" is interacted with, show the player a **confirmation** dialog to confirm this action.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/principles.mdx b/docs/discord-social-sdk/design-guidelines/principles.mdx
index 6ac69c8e8f..c9dc315d4c 100644
--- a/docs/discord-social-sdk/design-guidelines/principles.mdx
+++ b/docs/discord-social-sdk/design-guidelines/principles.mdx
@@ -13,31 +13,31 @@ sidebar_label: Principles
This integration aims to bring value to the player's gaming experience. Branded connection points should highlight said value-add based on the context.
-
+
## 2. Foster trust with Discord's brand
Lean into Discord's visual-styling to establish trust through brand recognition. The more players that connect, the more robust the social graph is for the game.
-
+
## 3. Promote Understanding through consistency
Use consistent branding and user-flows across games to build expected behavior. We care about the UX, not the UI.
-
+
## 4. Prioritize the player's immersion
Our focus is on preserving the player's immersion in the game. There are no requirements to replicate Discord's UI. The visual-design should feel as seamlessly integrated into the game as our SDKs.
-
+
## 5. Uphold data privacy, transparency, and control
Each platform is in control and responsible for the data on their respective platforms. Players are informed of where their data shows up.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/provisional-accounts.mdx b/docs/discord-social-sdk/design-guidelines/provisional-accounts.mdx
index 35539c04ab..df9798947f 100644
--- a/docs/discord-social-sdk/design-guidelines/provisional-accounts.mdx
+++ b/docs/discord-social-sdk/design-guidelines/provisional-accounts.mdx
@@ -12,7 +12,7 @@ Not all users are going to link their Discord account to their game. This create
The Discord Social SDK has built provisional accounts as a way for game-devs to create a lightweight, **limited Discord account** for unlinked users, so you can use the same APIs regardless of whether a user has connected their Discord account or not.
-
+
## What is a provisional account?
@@ -20,7 +20,7 @@ To players, a provisional account is simply a **standard account** that has yet
The complexity around provisional accounts that game-developers have to handle are invisible to players in the game.
-
+
## How provisional accounts look within the game
@@ -28,7 +28,7 @@ Provisional accounts **won't have the Discord badge** by their username in the f
Only players who've connected their Discord accounts and have provisional account friends from other games using the Discord Social SDK will see this state.
-
+
## How provisional accounts look within Discord
@@ -36,7 +36,7 @@ Provisional accounts will leverage **branded avatars** and **text-hints** on Dis
Because provisional accounts have limited capabilities, for example, you cannot start a voice or video call with them, it's important to visually distinguish them from Discord users.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/signing-in.mdx b/docs/discord-social-sdk/design-guidelines/signing-in.mdx
index cdf3cee5e0..583a87ba70 100644
--- a/docs/discord-social-sdk/design-guidelines/signing-in.mdx
+++ b/docs/discord-social-sdk/design-guidelines/signing-in.mdx
@@ -17,21 +17,21 @@ The Discord Social SDK will support the user-journeys for those who already **ha
A player can also proceed **without** connecting their Discord and continue onwards to playing their game.
-
+
### Connecting your Discord account via Discord client (gif)
-
+
### Connecting your Discord account via Browser (gif)
-
+
## Overlay Authorization
Discord's [Overlay](https://support.discord.com/hc/en-us/articles/217659737-Game-Overlay-101) feature can be used to enable authorization without ever leaving the game. This is available for games who support the feature.
-
+
## Before the user connects
@@ -45,7 +45,7 @@ This modal should include some of the key value props that the Discord Social SD
- Show when player interacts with the friends list for the first time
- Show in the authorization flow once a player taps the Discord connection point
-
+
## After the user connects
@@ -59,7 +59,7 @@ Include the following points sequentially in the game' s writing-style. Remove a
- You can chat with your friends here and on Discord
- It might take some time for your game friends to show up in your Discord
-
+
## Error State
@@ -69,7 +69,7 @@ Please include these key points sequentially in the game's writing-style:
- We were unable to connect your Discord account
- A call-to-action that redirects back to Discord with the initial authorization modal
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/status-rich-presence.mdx b/docs/discord-social-sdk/design-guidelines/status-rich-presence.mdx
index a1ff557cd6..5a26001186 100644
--- a/docs/discord-social-sdk/design-guidelines/status-rich-presence.mdx
+++ b/docs/discord-social-sdk/design-guidelines/status-rich-presence.mdx
@@ -16,11 +16,11 @@ By following this guide, you will learn how to:
## Core statuses, plus game-specific
-
+
## Status matrix
-
+
## Side-by-side
@@ -28,7 +28,7 @@ Any of the **core statuses** (online, idle, DND, offline) will always be the sam
You can customize the status icon, but custom icons will only render within the game.
-
+
## Core style guidelines
@@ -38,7 +38,7 @@ In other words, as long as the status colors read as yellow/green/red, and the s
Avatars are not required.
-
+
## Rich Presence
@@ -46,7 +46,7 @@ The game developer should set rich presence — this will show in both the Disco
Please refer to [**Setting Rich Presence**](#DOCS_DISCORD_SOCIAL_SDK_DEVELOPMENT_GUIDES_SETTING_RICH_PRESENCE) for more information on Rich Presence, such as other types of traits that can be included.
-
+
---
diff --git a/docs/discord-social-sdk/design-guidelines/unified-friends-list.mdx b/docs/discord-social-sdk/design-guidelines/unified-friends-list.mdx
index af3aab3532..b0a92da67c 100644
--- a/docs/discord-social-sdk/design-guidelines/unified-friends-list.mdx
+++ b/docs/discord-social-sdk/design-guidelines/unified-friends-list.mdx
@@ -25,7 +25,7 @@ The **Online — GameTitle** section shows friends who are online in the same ga
The **Online — Elsewhere** section shows friends who are online but not in the same game. However, they can be messaged or invited to play the game.
-
+
## Discord = Communication
@@ -33,7 +33,7 @@ Show the Discord badge next to a player's name when they are **online elsewhere*
The Discord logo represents **universal communication**. It aims to convey to users: “As a player, I know I can message or invite this friend to play a game anywhere Discord is present.” This means via phone, computer, and even console.
-
+
## Identities
@@ -43,7 +43,7 @@ If the friend does not own the game, use their **Discord Display Name**.
If the friend does not own the game nor have a linked Discord account, fall back to their **Provisional identity**.
-
+
## Examples of friends lists
@@ -51,7 +51,7 @@ A player's **console ID** is effectively their **game ID**, as consoles require
The examples to the right show how the hierarchy translates to consoles.
-
+
## How did we land here?
@@ -59,13 +59,13 @@ It reduces sudden **name changes** within the game, which can be confusing to th
It's also **scalable** and **inclusive** of provisional accounts who do not have Discord accounts connected.
-
+
## Discord Display Names
When referring to a player's Discord Identity, please use their **Discord Display Name**, and not their username.
-
+
## Scaling to Multiple Platforms
@@ -75,7 +75,7 @@ Prioritize player needs by elevating available players to the top of the friends
Avoid friend-lists organized by company. This hierarchy dilutes the value-prop of putting online players first, in favor of platform delineation.
-
+
---
diff --git a/docs/discord-social-sdk/development-guides/account-linking-on-consoles.mdx b/docs/discord-social-sdk/development-guides/account-linking-on-consoles.mdx
index aa40416d2c..82d43eec0d 100644
--- a/docs/discord-social-sdk/development-guides/account-linking-on-consoles.mdx
+++ b/docs/discord-social-sdk/development-guides/account-linking-on-consoles.mdx
@@ -49,7 +49,7 @@ Console users cannot authenticate via a web browser. Instead, they follow these
The SDK can manage this process automatically or allow manual token handling.
-
+
---
@@ -142,7 +142,7 @@ client->OpenAuthorizeDeviceScreen(user_code);
> info
> You can also display the `verification_uri_complete` or `verification_uri` with `user_code` in your game's interface to allow the user to enter the code manually.
-
+
Once the user approves the authorization request from a web browser or their mobile device, the `device_code` from Step 1 is ready to be exchanged for an access token.
diff --git a/docs/discord-social-sdk/development-guides/setting-rich-presence.mdx b/docs/discord-social-sdk/development-guides/setting-rich-presence.mdx
index ed2cf9279a..aa79d7cda2 100644
--- a/docs/discord-social-sdk/development-guides/setting-rich-presence.mdx
+++ b/docs/discord-social-sdk/development-guides/setting-rich-presence.mdx
@@ -68,7 +68,7 @@ You can control how lines 2 and 3 are rendered in Discord, here's the breakdown:
This diagram visually shows the field mapping:
-
+
> info
> For tips on designing Rich Presence, take a look at the [Rich Presence best practices guide](#DOCS_RICH_PRESENCE_BEST_PRACTICES).
@@ -79,7 +79,7 @@ This diagram visually shows the field mapping:
The Rich Presence invite image appears when invites are sent for a 3rd party game or app using the Discord Social SDK. After uploading an invite image for your app, you can see a preview of it to the right (under "IRL Invite Image Example").
-
+
---
@@ -89,7 +89,7 @@ While integrating Rich Presence, you'll likely want to upload custom art assets
To add custom assets for Rich Presence, navigate to your app's settings and click Rich Presence on the left-hand sidebar. On the Art Assets page, you can upload two different types of assets.
-
+
Up to 300 custom assets can be added to your app for later use when setting Rich Presence for a Discord user. These assets can be anything that help orient others to what a user is doing inside of your Activity or 3rd party game.
@@ -102,7 +102,7 @@ When uploading Rich Presence assets, **the asset keys will automatically be chan
Once you've uploaded these assets, you can use the asset key to reference them in your code when [Setting Assets in Rich Presence](#DOCS_DISCORD_SOCIAL_SDK_DEVELOPMENT_GUIDES_SETTING_RICH_PRESENCE/setting-assets).
-
+
---
diff --git a/docs/discord-social-sdk/getting-started/partials/dylib-mac-error.mdx b/docs/discord-social-sdk/getting-started/partials/dylib-mac-error.mdx
index 270a398c9b..8ded3e1155 100644
--- a/docs/discord-social-sdk/getting-started/partials/dylib-mac-error.mdx
+++ b/docs/discord-social-sdk/getting-started/partials/dylib-mac-error.mdx
@@ -1,14 +1,14 @@
On Mac you may get the error "libdiscord_partner_sdk.dylib" Not Opened because Apple couldn't verify it. If this happens press **Done** on the popup.
-
+
You'll need to open your **System Settings > Privacy & Security** and scroll down to the **Security** section. It will tell you "libdiscord_partner_sdk.dylib" was blocked to protect your Mac. Press **Open Anyway** and try running again.
-
+
Now when you get the pop up you'll have the option to select **Open Anyway** and it will be able to use it successfully.
-
+
\ No newline at end of file
diff --git a/docs/discord-social-sdk/overview.mdx b/docs/discord-social-sdk/overview.mdx
index 1891959048..e87f111546 100644
--- a/docs/discord-social-sdk/overview.mdx
+++ b/docs/discord-social-sdk/overview.mdx
@@ -5,7 +5,7 @@ sidebar_label: Overview
# Discord Social SDK
-
+
The Discord Social SDK allows you to integrate social features directly into your game. Build engaging, social experiences where players can connect, communicate, and play together, all while staying immersed in your game.
diff --git a/docs/discovery/best-practices.md b/docs/discovery/best-practices.md
index 4efa177e87..2a314f6982 100644
--- a/docs/discovery/best-practices.md
+++ b/docs/discovery/best-practices.md
@@ -24,7 +24,7 @@ There are a few places where you can define different descriptions of your app w
On the **General Information** tab, there is a general **Description** field (max of 400 characters) that appears within your bot user's profile. When a new user clicks on your app within Discord, they'll see this description.
-
+
#### App Summary
@@ -32,11 +32,11 @@ On the **App Directory** tab, the **Summary** field is a short description (max
When writing your app's Summary, think about how to grab the user's attention and quickly convey the value of your app. Consider the following description:
-
+
While this could be true, it doesn’t really tell folks how the app makes servers better or more fun. The best descriptions start with an attention grabbing sentence that describes a problem a user might want to solve:
-
+
#### App Expanded Description
@@ -68,7 +68,7 @@ After adding some images, make a quick screen recording to demonstrate your app
Think of up to five words that describe your app and add them as tags (see image below for an example). Consider what categories your app would fit under or keywords users would type into the search bar when looking for apps to add to their servers.
-
+
## Support Your Users
diff --git a/docs/discovery/overview.mdx b/docs/discovery/overview.mdx
index ecea146509..3c1cfb2fb8 100644
--- a/docs/discovery/overview.mdx
+++ b/docs/discovery/overview.mdx
@@ -17,7 +17,7 @@ The App Directory is a central hub where users can discover new apps. They can s
- **Search**: Users can search for your app by name and install it.
- **App Directory Product Page**: Share information about your app, including descriptions, images, videos, and links.
-
+
### App Launcher
@@ -26,7 +26,7 @@ The App Launcher lets users discover new apps through collections and search fro
- **Search**: Your app will be available to search and install.
- **Collections**: Includes Recent Apps, Installed Apps, Currated Apps, Partner Apps, and Promoted Apps.
-
+
#### App Launcher Collections can include:
- **Recent Apps**: Apps you've recently used or installed will appear at the top of the App Launcher
@@ -51,12 +51,12 @@ Once your app is discoverable, there are several ways users may find it through
Create shareable links to your app's profile page, store page, or specific items. Share these links in Discord, emails, or on your website.
-
+
### Rich Presence
Use [Rich Presence](#DOCS_RICH_PRESENCE_OVERVIEW) to show what users are doing in your app, driving more users to discover it.
-
+
---
diff --git a/docs/events/gateway.mdx b/docs/events/gateway.mdx
index 99954db051..630b1e3133 100644
--- a/docs/events/gateway.mdx
+++ b/docs/events/gateway.mdx
@@ -76,7 +76,7 @@ Gateway connections are persistent WebSockets which introduce more complexity th
At a high-level, Gateway connections consist of the following cycle:
-
+
1. App establishes a connection with the Gateway after fetching and caching a WSS URL using the [Get Gateway](#DOCS_EVENTS_GATEWAY/get-gateway) or [Get Gateway Bot](#DOCS_EVENTS_GATEWAY/get-gateway-bot) endpoint.
2. Discord sends the app a [Hello (opcode `10`)](#DOCS_EVENTS_GATEWAY/hello-event) event containing a heartbeat interval in milliseconds. **Read the section on [Connecting](#DOCS_EVENTS_GATEWAY/connecting)**
diff --git a/docs/interactions/application-commands.mdx b/docs/interactions/application-commands.mdx
index 9baf3102b0..9d4dfeeab8 100644
--- a/docs/interactions/application-commands.mdx
+++ b/docs/interactions/application-commands.mdx
@@ -2,7 +2,7 @@
Application commands are native ways to interact with apps in the Discord client. There are 3 types of commands accessible in different interfaces: the chat input, a message's context menu (top-right menu or right-clicking in a message), and a user's context menu (right-clicking on a user).
-
+
## Application Command Object
@@ -610,7 +610,7 @@ We'll start by defining the top-level information for `/permissions`:
}
```
-
+
Now we have a command named `permissions`. We want this command to be able to affect users and roles. Rather than making two separate commands, we can use subcommand groups. We want to use subcommand groups here because we are grouping commands on a similar resource: `user` or `role`.
@@ -680,7 +680,7 @@ Now that we've effectively made `user` and `role` "folders", we want to be able
}
```
-
+
Now, we need some arguments! If we chose `user`, we need to be able to pick a user; if we chose `role`, we need to be able to pick a role. We also want to be able to pick between guild-level permissions and channel-specific permissions. For that, we can use optional arguments:
@@ -785,7 +785,7 @@ Now, we need some arguments! If we chose `user`, we need to be able to pick a us
And, done! The JSON looks a bit complicated, but what we've ended up with is a single command that can be scoped to multiple actions, and then further scoped to a particular resource, and then even _further_ scope with optional arguments. Here's what it looks like all put together.
-
+
## User Commands
@@ -806,7 +806,7 @@ User commands are application commands that appear on the context menu (right cl
}
```
-
+
When someone uses a user command, your application will receive an interaction:
@@ -897,7 +897,7 @@ Message commands are application commands that appear on the context menu (right
}
```
-
+
When someone uses a message command, your application will receive an interaction:
@@ -980,7 +980,7 @@ When someone uses a message command, your application will receive an interactio
An Entry Point command serves as the primary way for users to open an app's [Activity](#DOCS_ACTIVITIES_OVERVIEW) from the [App Launcher](https://support.discord.com/hc/articles/21334461140375-Using-Apps-on-Discord#h_01HRQSA6C8TRHS722P1H3HW1TV).
For the Entry Point command to be visible to users, an app must have [Activities](#DOCS_ACTIVITIES_OVERVIEW) enabled.
-
+
###### Example Entry Point Command
diff --git a/docs/interactions/message-components.md b/docs/interactions/message-components.md
index f0c7c78644..6735af985d 100644
--- a/docs/interactions/message-components.md
+++ b/docs/interactions/message-components.md
@@ -118,7 +118,7 @@ Buttons come in a variety of styles to convey different types of actions. These
| Link | 5 | grey, navigates to a URL | `url` |
| Premium | 6 | blurple | `sku_id` |
-
+
When a user clicks on a button, your app will receive an [interaction](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-object) including the message the button was on:
@@ -138,11 +138,11 @@ When a user clicks on a button, your app will receive an [interaction](#DOCS_INT
Use different button styles to create a hierarchy. Use only one `Primary` button per group.
-
+
If there are multiple buttons of equal significance, use the `Secondary` button style for all buttons
-
+
###### Premium Buttons
@@ -154,7 +154,7 @@ Premium buttons will automatically have:
- SKU price
- 34 character max for this button. Longer titles will be truncated
-
+
### Component Interaction Object
@@ -237,7 +237,7 @@ Premium buttons will automatically have:
Select menus are interactive components that allow users to select one or more options from a dropdown list in messages. On desktop, clicking on a select menu opens a dropdown-style UI; on mobile, tapping a select menu opens up a half-sheet with the options.
-
+
Select menus support single-select and multi-select behavior, meaning you can prompt a user to choose just one item from a list, or multiple. When a user finishes making their choice(s) by clicking out of the dropdown or closing the half-sheet, your app will receive an [interaction](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-object-interaction-structure).
@@ -507,7 +507,7 @@ Text inputs are an interactive component that render in modals. They can be used
When defining a text input component, you can set attributes to customize the behavior and appearance of it. However, not all attributes will be returned in the [text input interaction payload](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/text-input-object-text-input-interaction).
-
+
###### Text Input Example
diff --git a/docs/interactions/overview.mdx b/docs/interactions/overview.mdx
index 8c3394a609..a17bace804 100644
--- a/docs/interactions/overview.mdx
+++ b/docs/interactions/overview.mdx
@@ -18,7 +18,7 @@ There are different types of interactions in your app's toolbelt that can pick a
**[Application commands](#DOCS_INTERACTIONS_APPLICATION_COMMANDS)** provide users a native way to invoke an app in Discord. They often map to an app's core features or functionality.
-
+
When an app creates a command it can choose the command's type, which determines where it appears in the Discord client and the metadata the app will receive when the command is invoked. There are three types for application commands:
@@ -33,7 +33,7 @@ Details about creating commands and handling command interactions are in the [Ap
**[Message components](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS)** are interactive elements that can be included in the content of a message that your app sends in Discord.
-
+
The main interactive components that apps can send in messages include:
@@ -47,7 +47,7 @@ A list of all message components and details on sending and receiving component
**[Modals](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-response-object-modal)** are single-user pop-up interfaces that allow apps to collect form-like data. Modals can only be opened in response to a user invoking one of your app's commands or message components.
-
+
The only interactive component that modals can contain are [text inputs](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/text-inputs), which allow users to fill out single-or-multi line form inputs.
diff --git a/docs/monetization/managing-skus.mdx b/docs/monetization/managing-skus.mdx
index aab128c3df..74154edd06 100644
--- a/docs/monetization/managing-skus.mdx
+++ b/docs/monetization/managing-skus.mdx
@@ -25,7 +25,7 @@ You can create multiple subscription tiers to offer different benefits at differ
To support upgrading and downgrading between subscription tiers, see our guide on [Implementing App Subscriptions](#DOCS_MONETIZATION_IMPLEMENTING_APP_SUBSCRIPTIONS/supporting-upgrades-and-downgrades).
-
+
### SKU Limitations
@@ -54,7 +54,7 @@ Your list of benefits will displayed on your app's Store page, the App Directory
- A name, max 80 characters
- A description, max 160 characters
-
+
### Pricing Your SKUs
@@ -70,7 +70,7 @@ To set an icon using a standard Unicode emoji, enter the emoji in the `Unicode E
> MacOS: `control + command + space bar`
> Windows: `Windows + .`
-
+
@@ -82,7 +82,7 @@ To use a custom emoji, set a value for both fields:
> info
> You can find the ID of the emoji in the Discord app by escaping the emoji in a message with a backslash character `\`. For example, `\:uwu:` will render with the name and ID of the emoji.
-
+
---
@@ -167,13 +167,13 @@ Users can access an app's Store page from the Bot User's profile in a server. Th
> Only subscriptions and items that have been published to the Store will be visible to users on the Store page.
#### Accessing your Store page from a Bot User's Profile
-
+
#### Subscriptions in Your Store page
-
+
#### Items in Your Store page
-
+
---
@@ -186,7 +186,7 @@ You can link directly to a specific SKU using our Application Directory Store UR
- When used in chat, it will render as a rich embed that allows users to launch a modal to view either the SKU details or checkout flow
- When used as a direct URL in a browser, it will take the user to your product in the Application Directory on web
-
+
---
@@ -199,7 +199,7 @@ You can link directly to your Store page using our Application Directory Store U
- When used in chat, it will render as a rich embed that allows users to launch a modal to your Store page
- When used as a direct URL in a browser, it will take the user to your Store page in the Application Directory on web
-
+
---
@@ -226,4 +226,4 @@ return new JsonResponse({
});
```
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/monetization/overview.mdx b/docs/monetization/overview.mdx
index ed3f536c8f..fff7304445 100644
--- a/docs/monetization/overview.mdx
+++ b/docs/monetization/overview.mdx
@@ -4,7 +4,7 @@ sidebar_label: Overview
# Monetizing Your Discord App
-
+
### Offer native payment and checkout in your app using our Monetization APIs.
diff --git a/docs/quick-start/getting-started.mdx b/docs/quick-start/getting-started.mdx
index b8c144318e..425fde50c5 100644
--- a/docs/quick-start/getting-started.mdx
+++ b/docs/quick-start/getting-started.mdx
@@ -14,7 +14,7 @@ We'll be building a Discord app that lets users play rock-paper-scissors (with 7
Here's what the finished app will look like:
-
+
To make the user flow a bit more explicit:
@@ -166,7 +166,7 @@ On the **Installation** page in the **Default Install Settings** section:
- For **User Install**, add the `applications.commands` scope
- For **Guild Install**, add the `applications.commands` scope and `bot` scope. When you select `bot`, a new **Permissions** menu will appear to select the bot user's permissions. Select any permissions that you may want for your app—for now, I'll just select `Send Messages`.
-
+
See a list of all [OAuth2 scopes](#DOCS_TOPICS_OAUTH2/shared-resources-oauth2-scopes), or read more on [permissions](#DOCS_TOPICS_PERMISSIONS) in the documentation.
@@ -271,7 +271,7 @@ We'll use **Forwarding** URL as the publicly-accessible URL where Discord will s
Go to your [app's settings](https://discord.com/developers/applications) and on the **General Information** page under **Interaction Endpoint URL**, paste your new ngrok forwarding URL and append `/interactions`.
-
+
Click **Save Changes** and ensure your endpoint is successfully verified.
diff --git a/docs/quick-start/overview-of-apps.mdx b/docs/quick-start/overview-of-apps.mdx
index 2b686bc4ea..e33e9ac92f 100644
--- a/docs/quick-start/overview-of-apps.mdx
+++ b/docs/quick-start/overview-of-apps.mdx
@@ -4,7 +4,7 @@ sidebar_label: Overview of Apps
# Overview of Discord Apps
-
+
Discord apps customize, extend, and enhance Discord for millions of users. Whether you're a developer interested in building an Activity, customizing servers, or integrating a game, apps are the container to bring your idea to life.
diff --git a/docs/resources/poll.md b/docs/resources/poll.md
index df4128b94d..29bd1e42f2 100644
--- a/docs/resources/poll.md
+++ b/docs/resources/poll.md
@@ -6,7 +6,7 @@ sidebar_label: Poll
A poll is... well... a poll! It holds information about a poll!
-
+
### Poll Object
diff --git a/docs/rich-presence/best-practices.md b/docs/rich-presence/best-practices.md
index 5ea0975f21..3d37ebf195 100644
--- a/docs/rich-presence/best-practices.md
+++ b/docs/rich-presence/best-practices.md
@@ -26,7 +26,7 @@ The data in your players’ profiles is the first thing that others on Discord w
###### Examples
-
+
### Make it Actionable!
@@ -36,7 +36,7 @@ The data in your players’ profiles is the first thing that others on Discord w
###### Examples
-
+
### Use ALL of the fields (where applicable)!
@@ -46,7 +46,7 @@ The data in your players’ profiles is the first thing that others on Discord w
###### Examples
-
+
### Have interesting, expressive art!
@@ -57,7 +57,7 @@ The data in your players’ profiles is the first thing that others on Discord w
###### Examples
-
+
## Launch Checklist
diff --git a/docs/rich-presence/overview.mdx b/docs/rich-presence/overview.mdx
index a19f0a1da7..daffc3f65c 100644
--- a/docs/rich-presence/overview.mdx
+++ b/docs/rich-presence/overview.mdx
@@ -4,7 +4,7 @@ sidebar_label: Overview
# Overview of Rich Presence
-
+
Rich Presence lets you display actionable data in a Discord user's profile about what they're up to in your game or app. The data you choose to display is up to you—whether it's a user's score, the duration they've been playing your game, what they're listening to on your platform, or something else.
@@ -63,7 +63,7 @@ The Rich Presence invite image appears when [invites](#DOCS_DEVELOPER_TOOLS_GAME
> info
> The invite image can be ignored if you're building using the [Embedded App SDK](#DOCS_RICH_PRESENCE_OVERVIEW/embedded-app-sdk). Invites sent using the Embedded App SDK's[`openInviteDialog()`](#DOCS_DEVELOPER_TOOLS_EMBEDDED_APP_SDK/openinvitedialog) use the Activity's cover art.
-
+
### Assets
@@ -76,7 +76,7 @@ If you need more than 300 custom assets or want to use images stored somewhere e
When uploading Rich Presence assets, **the asset keys will automatically be changed to lowercase**. You can see this reflected in your app's settings after saving a newly-uploaded asset, and should keep it in mind when referencing any asset keys in your code.
-
+
### Using the Visualizer
diff --git a/docs/rich-presence/using-with-the-discord-social-sdk.mdx b/docs/rich-presence/using-with-the-discord-social-sdk.mdx
index dc0a59162a..84d2d24167 100644
--- a/docs/rich-presence/using-with-the-discord-social-sdk.mdx
+++ b/docs/rich-presence/using-with-the-discord-social-sdk.mdx
@@ -15,7 +15,7 @@ When developing a game, the [Discord Social SDK](#DOCS_DISCORD_SOCIAL_SDK_OVERVI
Before we dig in, it's helpful to understand what Rich Presence data you can set when updating a user's presence data. Let's just take a look at what we're working with:
-
+
> info
> For tips on designing Rich Presence, take a look at the [Rich Presence best practices guide](#DOCS_RICH_PRESENCE_BEST_PRACTICES).
@@ -26,4 +26,4 @@ Check out our [Setting Rich Presence](#DOCS_DISCORD_SOCIAL_SDK_DEVELOPMENT_GUIDE
- [Design Guidelines: Status & Rich Presence](#DOCS_DISCORD_SOCIAL_SDK_DESIGN_GUIDELINES_STATUS_RICH_PRESENCE)
-
+
diff --git a/docs/rich-presence/using-with-the-embedded-app-sdk.mdx b/docs/rich-presence/using-with-the-embedded-app-sdk.mdx
index 1c222d1ef2..33255b1cc5 100644
--- a/docs/rich-presence/using-with-the-embedded-app-sdk.mdx
+++ b/docs/rich-presence/using-with-the-embedded-app-sdk.mdx
@@ -19,7 +19,7 @@ The rest of the guide assumes you've already developed an [app](#DOCS_QUICK_STAR
By default, when a user is connected to your Activity, the app's icon will appear on their profile. If the user viewing the profile has the ability to join, an "Ask to Join" button will be displayed as well.
-
+
While this is okay, it's pretty limited and doesn't provide much context about what a user is actually *doing* inside of the Activity. In the following sections, we'll take a look at what richer and more actionable presence can look like.
@@ -27,7 +27,7 @@ While this is okay, it's pretty limited and doesn't provide much context about w
Now let's see what custom presence data can look like when a user joins your Activity. The [types for these fields](#DOCS_RICH_PRESENCE_USING_WITH_THE_EMBEDDED_APP_SDK/setactivity-fields) and [examples](#DOCS_RICH_PRESENCE_USING_WITH_THE_EMBEDDED_APP_SDK/setactivity-example) are in the sections below, but for now let's just get an idea of what we're working with:
-
+
A few small things to note about the above image:
1. `large_image` and `small_image` are both in the `assets` object, which you can see below in the [table below](#DOCS_RICH_PRESENCE_USING_WITH_THE_EMBEDDED_APP_SDK/activity-partial-object). They're labeled with the object's keys to make it more clear how they appear in a Discord profile.
@@ -96,7 +96,7 @@ Below is a table with many of the available fields for the activity partial. Som
Now let's take a look at more of a real example. Take a look at the Rich Presence data below that is for an Activity:
-
+
To create this sort of Rich Presence, here is what the `setActivity()` code would look like:
diff --git a/docs/rich-presence/using-with-the-game-sdk.mdx b/docs/rich-presence/using-with-the-game-sdk.mdx
index f5c403693e..a2b2acc86c 100644
--- a/docs/rich-presence/using-with-the-game-sdk.mdx
+++ b/docs/rich-presence/using-with-the-game-sdk.mdx
@@ -18,7 +18,7 @@ Before we dig in, make sure you've gone through the guide on [Getting Started wi
Before we dig in, it's helpful to understand what Rich Presence data you can set when updating a user's presence data. We'll explain the specific fields below, but for now let's just take a look at what we're working with:
-
+
| location | field name | notes |
@@ -88,7 +88,7 @@ Now let's take a look at a code example for updating presence data.
Our code sample in this section is based on the data from the example from before:
-
+
The **Ask to Join** button will be covered more in the following sections, but if you don't want it included, you can remove the `Party` and `Secret` fields.
diff --git a/docs/topics/certified-devices.md b/docs/topics/certified-devices.md
index 49c661a1b2..5c2993aa33 100644
--- a/docs/topics/certified-devices.md
+++ b/docs/topics/certified-devices.md
@@ -12,7 +12,7 @@ I'm glad you asked!
Yup, that's it. You give us the real-time info about any connected devices, and we'll handle the rest to make sure that anyone using your device will have an awesome experience. Your device will also have a `CERTIFIED` badge in Discord's audio settings, and really, who doesn't love badges?
-
+
## Connecting
diff --git a/docs/topics/teams.md b/docs/topics/teams.md
index 48b34641d1..190aee89b7 100644
--- a/docs/topics/teams.md
+++ b/docs/topics/teams.md
@@ -6,7 +6,7 @@ Teams are groups of developers (or other Discord users) who want to collaborate
To create or be a member on a team, you must [enable 2FA for your Discord account](https://support.discord.com/hc/en-us/articles/219576828-Setting-up-Two-Factor-Authentication). After you have 2FA enabled, create a team by navigating to the [Teams page](https://discord.com/developers/teams) then clicking the "New Team" button.
-
+
Once you create a team, you'll land on the **Team Information** page where you can fill out details and start inviting other Discord users to join your team. Since users added to a team have access to any apps that team owns, use caution when adding new team members.
@@ -21,7 +21,7 @@ Once your team is set up, you can create or transfer apps that will be owned by
To create a new app that belongs to a team, select the team from the **Team** dropdown in the app creation modal. If you want to keep the app under your own account's ownership, choose `Personal`:
-
+
### Transferring an App
@@ -30,7 +30,7 @@ To transfer an existing app to a team, navigate to the [Application](https://dis
> danger
> Once an app has been transferred to a team, it _cannot_ be transferred back.
-
+
## Team Member Roles
diff --git a/docs/tutorials/configuring-app-metadata-for-linked-roles.md b/docs/tutorials/configuring-app-metadata-for-linked-roles.md
index 3534f0dd5a..e783d503d3 100644
--- a/docs/tutorials/configuring-app-metadata-for-linked-roles.md
+++ b/docs/tutorials/configuring-app-metadata-for-linked-roles.md
@@ -57,7 +57,7 @@ To start, [remix (or clone) the Glitch project 🎏](https://glitch.com/edit/#!/
When you remix the project, you'll see a new Glitch project with a unique name similar to this:
-
+
#### Project structure
@@ -88,11 +88,11 @@ First, copy your bot user’s token from earlier and paste it in the `DISCORD_TO
Next, navigate to your app settings in the developer portal, and navigate to OAuth2 -> General. Copy the Client ID and Client Secret for your application, and paste the values as `DISCORD_CLIENT_ID` and `DISCORD_CLIENT_SECRET` in your `.env`.
-
+
Now, we need to set the Redirect URL that will be used for our OAuth2 flow. Go back to Glitch, and click the `Share` button for your project. Copy the public live URL for your app:
-
+
Go back to the OAuth2 -> General tab in the Discord developer portal, and add a new redirect for your app using the Glitch URL and the `/discord-oauth-callback` route. Copy this URL, then paste it as `DISCORD_REDIRECT_URI` in your `.env`.
@@ -101,7 +101,7 @@ Go to the General Information tab in the developer portal, and scroll down to th
> info
> For the Glitch project used in the screenshots, the verification URL would be `https://adjoining-crawling-yamamomo.glitch.me/linked-role`
-
+
Finally, to generate a unique cookie secret, go back to Glitch, and click on the `Terminal` tab. Run the following commands:
@@ -132,7 +132,7 @@ Go back to Glitch, click the **terminal** tab, and run the following command:
$ node src/register.js
```
-
+
## Trying it out
@@ -144,7 +144,7 @@ To try out the app, we'll create a linked role in a server where you have admin
Give the role a name, save it, then click on `Links`. Click the `Add requirement` button, and you should see your bot in the list of available Apps. Click on it, and you will see a setup screen where you can configure specific criteria for your role.
-
+
### Acquiring the role
@@ -153,15 +153,15 @@ To acquire your newly created role, click the server name in the upper left corn
> info
> When you connect your account, one of the scopes requested in the OAuth flow is `role_connections.write`, which is required for an app to update a user's role connection information.
-
+
Click on the linked role criteria. This should lead to the Discord OAuth2 consent screen. Click `Authorize`, and then return to Discord.
-
+
After returning to Discord, you should see your account granted the linked role.
-
+
Finally, create a new private channel, and add the new linked role.
diff --git a/docs/tutorials/developing-a-user-installable-app.mdx b/docs/tutorials/developing-a-user-installable-app.mdx
index d299ba0a3d..a1aecd2779 100644
--- a/docs/tutorials/developing-a-user-installable-app.mdx
+++ b/docs/tutorials/developing-a-user-installable-app.mdx
@@ -114,7 +114,7 @@ Under the **Default Install Settings** section:
After you've selected the scopes and permissions for your app, click **Save Changes**.
-
+
### Installing your app
@@ -345,7 +345,7 @@ Message component interactions can be triggered by any user the component is vis
Consider we added a new `/game` command supported in the `USER_INSTALL` installation context that a user could trigger to send a message to whatever guild or group DM they're in to ask others if they're interested in joining a game match:
-
+
When someone clicks on the button, our app would care about two users when handling the interaction:
1. User B, who clicked the "Join" button so our app can track who is interested in joining the match
diff --git a/docs/tutorials/hosting-on-cloudflare-workers.md b/docs/tutorials/hosting-on-cloudflare-workers.md
index c68cb9a08e..5b8aacc8e6 100644
--- a/docs/tutorials/hosting-on-cloudflare-workers.md
+++ b/docs/tutorials/hosting-on-cloudflare-workers.md
@@ -10,7 +10,7 @@ Discord will send these events to a pre-configured HTTPS endpoint (called an Int
This tutorial walks through building a Discord app powered by [`r/aww`](https://www.reddit.com/r/aww) using JavaScript:
-
+
All of the code for this app can be found **[on GitHub](https://github.com/discord/cloudflare-sample-app)**.
@@ -30,7 +30,7 @@ To start, we'll create the app through the [Discord Developer Dashboard](https:/
- Click `New Application`, and choose a name
- Copy your **Public Key** and **Application ID**, and put them somewhere locally (we'll need these later)
-
+
- Now click on the **Bot** tab on the left sidebar.
- Grab the `token` for your bot, and store it somewhere safe (I like to put these tokens in a password manager like [1password](https://1password.com/) or [lastpass](https://www.lastpass.com/)).
@@ -45,7 +45,7 @@ Now we'll configure the bot with [permissions](#DOCS_TOPICS_PERMISSIONS) require
- Click on the `OAuth2` tab, and choose the `URL Generator`. Click the `bot` and `applications.commands` scopes.
- Check the boxes next to `Send Messages` and `Use Slash Commands`, then copy the `Generated URL`.
-
+
- Paste the URL into the browser and follow the OAuth flow, selecting the server where you'd like to develop and test your bot.
@@ -211,13 +211,13 @@ When a user types a slash command, Discord will send an HTTP request to a public
$ npm run ngrok
```
-
+
This is going to bounce requests off of an external endpoint, and forward them to your machine. Copy the HTTPS link provided by the tool. It should look something like `https://8098-24-22-245-250.ngrok.io`.
Now head back to the Discord Developer Dashboard, and update the `Interactions Endpoint URL` for your app:
-
+
This is the process we'll use for local testing and development. When you've published your app to Cloudflare, you will **want to update this field to use your Cloudflare Worker URL.**
diff --git a/docs/tutorials/upgrading-to-application-commands.md b/docs/tutorials/upgrading-to-application-commands.md
index 36beb10e11..a64ffed9b8 100644
--- a/docs/tutorials/upgrading-to-application-commands.md
+++ b/docs/tutorials/upgrading-to-application-commands.md
@@ -8,7 +8,7 @@ As [message content has become a privileged intent](https://support-dev.discord.
This guide is intended to provide developers with apps currently using message content with a resource to walk through implementing and designing commands. Throughout the guide, the terms "application commands" and "commands" are used interchangeably.
-
+
> info
> If you are developing an app for the first time, the [commands documentation](#DOCS_INTERACTIONS_APPLICATION_COMMANDS) may be a more helpful resource for you.
@@ -61,7 +61,7 @@ While most apps won’t need to register more than a handful of commands, apps c
Command options is an optional field (`options`) that can be defined when creating commands. When used, options will display for the user to fill out during invocation. You can also provide dynamic option suggestions using the `autocomplete` field. Read more about options [in the documentation](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/application-command-object-application-command-option-structure).
-
+
### Using Subcommands to Group Actions
@@ -152,7 +152,7 @@ However, before adding your URL to your app settings, your endpoint must be set
After your URL is set up to handle signature verification and `PING` requests, you can add your Interaction Endpoint URL by navigating to your app settings from the [developer portal](https://discord.com/developers/applications). On the **General Information** page, you’ll see a field for your **Interactions Endpoint URL**.
-
+
After you paste your URL and click **Save Changes**, Discord will attempt to verify your endpoint.
@@ -265,7 +265,7 @@ For a `/search` command that searches an external service, an app could respond
Ephemeral messages can also contain message components, so when relevant, there could be a button to share the information in the ephemeral message to a channel.
-
+
## Onboarding Users
@@ -286,7 +286,7 @@ You can also inform users about changes within the servers your app is installed
The following is an example of an app update that may be sent to communicate the new way to access commands. Depending on the different features your app adopts (like options, subcommands, permissions, etc.), an update message or changelog entry will look very different.
-
+
### Making Help Available
diff --git a/images/API_center.gif b/static/images/API_center.gif
similarity index 100%
rename from images/API_center.gif
rename to static/images/API_center.gif
diff --git a/images/activities-presence-example.png b/static/images/activities-presence-example.png
similarity index 100%
rename from images/activities-presence-example.png
rename to static/images/activities-presence-example.png
diff --git a/images/activities/activities-hero.png b/static/images/activities/activities-hero.png
similarity index 100%
rename from images/activities/activities-hero.png
rename to static/images/activities/activities-hero.png
diff --git a/images/activities/activity-instance-validation.jpg b/static/images/activities/activity-instance-validation.jpg
similarity index 100%
rename from images/activities/activity-instance-validation.jpg
rename to static/images/activities/activity-instance-validation.jpg
diff --git a/images/activities/application-test-mode-prod.gif b/static/images/activities/application-test-mode-prod.gif
similarity index 100%
rename from images/activities/application-test-mode-prod.gif
rename to static/images/activities/application-test-mode-prod.gif
diff --git a/images/activities/bobble-bash.png b/static/images/activities/bobble-bash.png
similarity index 100%
rename from images/activities/bobble-bash.png
rename to static/images/activities/bobble-bash.png
diff --git a/images/activities/bobble-league.png b/static/images/activities/bobble-league.png
similarity index 100%
rename from images/activities/bobble-league.png
rename to static/images/activities/bobble-league.png
diff --git a/images/activities/chess-victory.png b/static/images/activities/chess-victory.png
similarity index 100%
rename from images/activities/chess-victory.png
rename to static/images/activities/chess-victory.png
diff --git a/images/activities/custom-link-embed.png b/static/images/activities/custom-link-embed.png
similarity index 100%
rename from images/activities/custom-link-embed.png
rename to static/images/activities/custom-link-embed.png
diff --git a/images/activities/debug-logs-filtering.gif b/static/images/activities/debug-logs-filtering.gif
similarity index 100%
rename from images/activities/debug-logs-filtering.gif
rename to static/images/activities/debug-logs-filtering.gif
diff --git a/images/activities/default_orientation_lock_state.png b/static/images/activities/default_orientation_lock_state.png
similarity index 100%
rename from images/activities/default_orientation_lock_state.png
rename to static/images/activities/default_orientation_lock_state.png
diff --git a/images/activities/developer-mode.gif b/static/images/activities/developer-mode.gif
similarity index 100%
rename from images/activities/developer-mode.gif
rename to static/images/activities/developer-mode.gif
diff --git a/images/activities/discord-activities.png b/static/images/activities/discord-activities.png
similarity index 100%
rename from images/activities/discord-activities.png
rename to static/images/activities/discord-activities.png
diff --git a/images/activities/eights.png b/static/images/activities/eights.png
similarity index 100%
rename from images/activities/eights.png
rename to static/images/activities/eights.png
diff --git a/images/activities/embedded-app-flow-diagram.svg b/static/images/activities/embedded-app-flow-diagram.svg
similarity index 100%
rename from images/activities/embedded-app-flow-diagram.svg
rename to static/images/activities/embedded-app-flow-diagram.svg
diff --git a/images/activities/enable-activities.png b/static/images/activities/enable-activities.png
similarity index 100%
rename from images/activities/enable-activities.png
rename to static/images/activities/enable-activities.png
diff --git a/images/activities/encourage-hardware-acceleration-modal.png b/static/images/activities/encourage-hardware-acceleration-modal.png
similarity index 100%
rename from images/activities/encourage-hardware-acceleration-modal.png
rename to static/images/activities/encourage-hardware-acceleration-modal.png
diff --git a/images/activities/external-link-modal.png b/static/images/activities/external-link-modal.png
similarity index 100%
rename from images/activities/external-link-modal.png
rename to static/images/activities/external-link-modal.png
diff --git a/images/activities/invite-dialog.png b/static/images/activities/invite-dialog.png
similarity index 100%
rename from images/activities/invite-dialog.png
rename to static/images/activities/invite-dialog.png
diff --git a/images/activities/join-application.png b/static/images/activities/join-application.png
similarity index 100%
rename from images/activities/join-application.png
rename to static/images/activities/join-application.png
diff --git a/images/activities/new-app.png b/static/images/activities/new-app.png
similarity index 100%
rename from images/activities/new-app.png
rename to static/images/activities/new-app.png
diff --git a/images/activities/oauth-flow-diagram.svg b/static/images/activities/oauth-flow-diagram.svg
similarity index 100%
rename from images/activities/oauth-flow-diagram.svg
rename to static/images/activities/oauth-flow-diagram.svg
diff --git a/images/activities/oauth2-details.png b/static/images/activities/oauth2-details.png
similarity index 100%
rename from images/activities/oauth2-details.png
rename to static/images/activities/oauth2-details.png
diff --git a/images/activities/oauth2-redirect.png b/static/images/activities/oauth2-redirect.png
similarity index 100%
rename from images/activities/oauth2-redirect.png
rename to static/images/activities/oauth2-redirect.png
diff --git a/images/activities/share-moment-dialog-example.png b/static/images/activities/share-moment-dialog-example.png
similarity index 100%
rename from images/activities/share-moment-dialog-example.png
rename to static/images/activities/share-moment-dialog-example.png
diff --git a/images/activities/start-activity.png b/static/images/activities/start-activity.png
similarity index 100%
rename from images/activities/start-activity.png
rename to static/images/activities/start-activity.png
diff --git a/images/activities/supported-platforms.png b/static/images/activities/supported-platforms.png
similarity index 100%
rename from images/activities/supported-platforms.png
rename to static/images/activities/supported-platforms.png
diff --git a/images/activities/tutorial-auth.png b/static/images/activities/tutorial-auth.png
similarity index 100%
rename from images/activities/tutorial-auth.png
rename to static/images/activities/tutorial-auth.png
diff --git a/images/activities/tutorial-channel-name.png b/static/images/activities/tutorial-channel-name.png
similarity index 100%
rename from images/activities/tutorial-channel-name.png
rename to static/images/activities/tutorial-channel-name.png
diff --git a/images/activities/tutorial-hero.png b/static/images/activities/tutorial-hero.png
similarity index 100%
rename from images/activities/tutorial-hero.png
rename to static/images/activities/tutorial-hero.png
diff --git a/images/activities/tutorial-launched.png b/static/images/activities/tutorial-launched.png
similarity index 100%
rename from images/activities/tutorial-launched.png
rename to static/images/activities/tutorial-launched.png
diff --git a/images/activities/url-mapping-do.png b/static/images/activities/url-mapping-do.png
similarity index 100%
rename from images/activities/url-mapping-do.png
rename to static/images/activities/url-mapping-do.png
diff --git a/images/activities/url-mapping-dont.png b/static/images/activities/url-mapping-dont.png
similarity index 100%
rename from images/activities/url-mapping-dont.png
rename to static/images/activities/url-mapping-dont.png
diff --git a/images/activities/url-mapping-tutorial.png b/static/images/activities/url-mapping-tutorial.png
similarity index 100%
rename from images/activities/url-mapping-tutorial.png
rename to static/images/activities/url-mapping-tutorial.png
diff --git a/images/alerts.png b/static/images/alerts.png
similarity index 100%
rename from images/alerts.png
rename to static/images/alerts.png
diff --git a/images/annotated-presence-data-activities.png b/static/images/annotated-presence-data-activities.png
similarity index 100%
rename from images/annotated-presence-data-activities.png
rename to static/images/annotated-presence-data-activities.png
diff --git a/images/app-add-bot.png b/static/images/app-add-bot.png
similarity index 100%
rename from images/app-add-bot.png
rename to static/images/app-add-bot.png
diff --git a/images/app-create-modal.png b/static/images/app-create-modal.png
similarity index 100%
rename from images/app-create-modal.png
rename to static/images/app-create-modal.png
diff --git a/images/ask-to-join.gif b/static/images/ask-to-join.gif
similarity index 100%
rename from images/ask-to-join.gif
rename to static/images/ask-to-join.gif
diff --git a/images/available-published.png b/static/images/available-published.png
similarity index 100%
rename from images/available-published.png
rename to static/images/available-published.png
diff --git a/images/botuser-profile.png b/static/images/botuser-profile.png
similarity index 100%
rename from images/botuser-profile.png
rename to static/images/botuser-profile.png
diff --git a/images/bp-productpage-app-description.png b/static/images/bp-productpage-app-description.png
similarity index 100%
rename from images/bp-productpage-app-description.png
rename to static/images/bp-productpage-app-description.png
diff --git a/images/bp-productpage-summary-bad.png b/static/images/bp-productpage-summary-bad.png
similarity index 100%
rename from images/bp-productpage-summary-bad.png
rename to static/images/bp-productpage-summary-bad.png
diff --git a/images/bp-productpage-summary-good.png b/static/images/bp-productpage-summary-good.png
similarity index 100%
rename from images/bp-productpage-summary-good.png
rename to static/images/bp-productpage-summary-good.png
diff --git a/images/bp-productpage-tags.png b/static/images/bp-productpage-tags.png
similarity index 100%
rename from images/bp-productpage-tags.png
rename to static/images/bp-productpage-tags.png
diff --git a/images/button-styles.png b/static/images/button-styles.png
similarity index 100%
rename from images/button-styles.png
rename to static/images/button-styles.png
diff --git a/images/certified-device.png b/static/images/certified-device.png
similarity index 100%
rename from images/certified-device.png
rename to static/images/certified-device.png
diff --git a/images/cloudflare-general-overview.png b/static/images/cloudflare-general-overview.png
similarity index 100%
rename from images/cloudflare-general-overview.png
rename to static/images/cloudflare-general-overview.png
diff --git a/images/cloudflare-interactions-endpoint.png b/static/images/cloudflare-interactions-endpoint.png
similarity index 100%
rename from images/cloudflare-interactions-endpoint.png
rename to static/images/cloudflare-interactions-endpoint.png
diff --git a/images/cloudflare-ngrok.png b/static/images/cloudflare-ngrok.png
similarity index 100%
rename from images/cloudflare-ngrok.png
rename to static/images/cloudflare-ngrok.png
diff --git a/images/cloudflare-tutorial-demo.gif b/static/images/cloudflare-tutorial-demo.gif
similarity index 100%
rename from images/cloudflare-tutorial-demo.gif
rename to static/images/cloudflare-tutorial-demo.gif
diff --git a/images/cloudflare-url-generator.png b/static/images/cloudflare-url-generator.png
similarity index 100%
rename from images/cloudflare-url-generator.png
rename to static/images/cloudflare-url-generator.png
diff --git a/images/command-entry-point.png b/static/images/command-entry-point.png
similarity index 100%
rename from images/command-entry-point.png
rename to static/images/command-entry-point.png
diff --git a/images/command-types.png b/static/images/command-types.png
similarity index 100%
rename from images/command-types.png
rename to static/images/command-types.png
diff --git a/images/command-with-groups-subcommands-parameters.png b/static/images/command-with-groups-subcommands-parameters.png
similarity index 100%
rename from images/command-with-groups-subcommands-parameters.png
rename to static/images/command-with-groups-subcommands-parameters.png
diff --git a/images/command-with-groups-subcommands.png b/static/images/command-with-groups-subcommands.png
similarity index 100%
rename from images/command-with-groups-subcommands.png
rename to static/images/command-with-groups-subcommands.png
diff --git a/images/command.png b/static/images/command.png
similarity index 100%
rename from images/command.png
rename to static/images/command.png
diff --git a/images/cpp-files-sdk.png b/static/images/cpp-files-sdk.png
similarity index 100%
rename from images/cpp-files-sdk.png
rename to static/images/cpp-files-sdk.png
diff --git a/images/create-store-channel.png b/static/images/create-store-channel.png
similarity index 100%
rename from images/create-store-channel.png
rename to static/images/create-store-channel.png
diff --git a/images/create-team-owned-app.png b/static/images/create-team-owned-app.png
similarity index 100%
rename from images/create-team-owned-app.png
rename to static/images/create-team-owned-app.png
diff --git a/images/default-presence-activities.png b/static/images/default-presence-activities.png
similarity index 100%
rename from images/default-presence-activities.png
rename to static/images/default-presence-activities.png
diff --git a/images/deferred-example.png b/static/images/deferred-example.png
similarity index 100%
rename from images/deferred-example.png
rename to static/images/deferred-example.png
diff --git a/images/desktop-role-select-menu.png b/static/images/desktop-role-select-menu.png
similarity index 100%
rename from images/desktop-role-select-menu.png
rename to static/images/desktop-role-select-menu.png
diff --git a/images/desktop-select.png b/static/images/desktop-select.png
similarity index 100%
rename from images/desktop-select.png
rename to static/images/desktop-select.png
diff --git a/images/discovery-app-directory-product-page.png b/static/images/discovery-app-directory-product-page.png
similarity index 100%
rename from images/discovery-app-directory-product-page.png
rename to static/images/discovery-app-directory-product-page.png
diff --git a/images/discovery-app-launcher.png b/static/images/discovery-app-launcher.png
similarity index 100%
rename from images/discovery-app-launcher.png
rename to static/images/discovery-app-launcher.png
diff --git a/images/discovery-sharing-links.png b/static/images/discovery-sharing-links.png
similarity index 100%
rename from images/discovery-sharing-links.png
rename to static/images/discovery-sharing-links.png
diff --git a/images/docs-header.svg b/static/images/docs-header.svg
similarity index 100%
rename from images/docs-header.svg
rename to static/images/docs-header.svg
diff --git a/images/example-poll.png b/static/images/example-poll.png
similarity index 100%
rename from images/example-poll.png
rename to static/images/example-poll.png
diff --git a/images/examples-ephemeral-message.png b/static/images/examples-ephemeral-message.png
similarity index 100%
rename from images/examples-ephemeral-message.png
rename to static/images/examples-ephemeral-message.png
diff --git a/images/examples-message-reactive.png b/static/images/examples-message-reactive.png
similarity index 100%
rename from images/examples-message-reactive.png
rename to static/images/examples-message-reactive.png
diff --git a/images/examples-update-message.png b/static/images/examples-update-message.png
similarity index 100%
rename from images/examples-update-message.png
rename to static/images/examples-update-message.png
diff --git a/images/game-overlay-sdk-invite.gif b/static/images/game-overlay-sdk-invite.gif
similarity index 100%
rename from images/game-overlay-sdk-invite.gif
rename to static/images/game-overlay-sdk-invite.gif
diff --git a/images/game-overlay-sdk-voice-settings.png b/static/images/game-overlay-sdk-voice-settings.png
similarity index 100%
rename from images/game-overlay-sdk-voice-settings.png
rename to static/images/game-overlay-sdk-voice-settings.png
diff --git a/images/game-overlay-sdk-voice-widget.png b/static/images/game-overlay-sdk-voice-widget.png
similarity index 100%
rename from images/game-overlay-sdk-voice-widget.png
rename to static/images/game-overlay-sdk-voice-widget.png
diff --git a/images/game-sdk-presence-example.png b/static/images/game-sdk-presence-example.png
similarity index 100%
rename from images/game-sdk-presence-example.png
rename to static/images/game-sdk-presence-example.png
diff --git a/images/gateway-lifecycle.svg b/static/images/gateway-lifecycle.svg
similarity index 100%
rename from images/gateway-lifecycle.svg
rename to static/images/gateway-lifecycle.svg
diff --git a/images/getting-started-default-install.png b/static/images/getting-started-default-install.png
similarity index 100%
rename from images/getting-started-default-install.png
rename to static/images/getting-started-default-install.png
diff --git a/images/getting-started-demo.gif b/static/images/getting-started-demo.gif
similarity index 100%
rename from images/getting-started-demo.gif
rename to static/images/getting-started-demo.gif
diff --git a/images/getting-started-interactions-endpoint.png b/static/images/getting-started-interactions-endpoint.png
similarity index 100%
rename from images/getting-started-interactions-endpoint.png
rename to static/images/getting-started-interactions-endpoint.png
diff --git a/images/gift-code-creation.png b/static/images/gift-code-creation.png
similarity index 100%
rename from images/gift-code-creation.png
rename to static/images/gift-code-creation.png
diff --git a/images/glitch-project.png b/static/images/glitch-project.png
similarity index 100%
rename from images/glitch-project.png
rename to static/images/glitch-project.png
diff --git a/images/heroku-baking.gif b/static/images/heroku-baking.gif
similarity index 100%
rename from images/heroku-baking.gif
rename to static/images/heroku-baking.gif
diff --git a/images/heroku-buildpack.png b/static/images/heroku-buildpack.png
similarity index 100%
rename from images/heroku-buildpack.png
rename to static/images/heroku-buildpack.png
diff --git a/images/heroku-configVars.png b/static/images/heroku-configVars.png
similarity index 100%
rename from images/heroku-configVars.png
rename to static/images/heroku-configVars.png
diff --git a/images/heroku-connectGH.png b/static/images/heroku-connectGH.png
similarity index 100%
rename from images/heroku-connectGH.png
rename to static/images/heroku-connectGH.png
diff --git a/images/heroku-deploy.png b/static/images/heroku-deploy.png
similarity index 100%
rename from images/heroku-deploy.png
rename to static/images/heroku-deploy.png
diff --git a/images/heroku-dynos.png b/static/images/heroku-dynos.png
similarity index 100%
rename from images/heroku-dynos.png
rename to static/images/heroku-dynos.png
diff --git a/images/heroku-login.png b/static/images/heroku-login.png
similarity index 100%
rename from images/heroku-login.png
rename to static/images/heroku-login.png
diff --git a/images/heroku-logs.png b/static/images/heroku-logs.png
similarity index 100%
rename from images/heroku-logs.png
rename to static/images/heroku-logs.png
diff --git a/images/heroku-procfile.png b/static/images/heroku-procfile.png
similarity index 100%
rename from images/heroku-procfile.png
rename to static/images/heroku-procfile.png
diff --git a/images/heroku-token.png b/static/images/heroku-token.png
similarity index 100%
rename from images/heroku-token.png
rename to static/images/heroku-token.png
diff --git a/images/interactions-url.png b/static/images/interactions-url.png
similarity index 100%
rename from images/interactions-url.png
rename to static/images/interactions-url.png
diff --git a/images/lib-linked-sdk.png b/static/images/lib-linked-sdk.png
similarity index 100%
rename from images/lib-linked-sdk.png
rename to static/images/lib-linked-sdk.png
diff --git a/images/linked-roles-connect-account.png b/static/images/linked-roles-connect-account.png
similarity index 100%
rename from images/linked-roles-connect-account.png
rename to static/images/linked-roles-connect-account.png
diff --git a/images/linked-roles-connected.png b/static/images/linked-roles-connected.png
similarity index 100%
rename from images/linked-roles-connected.png
rename to static/images/linked-roles-connected.png
diff --git a/images/linked-roles-consent-dialog.png b/static/images/linked-roles-consent-dialog.png
similarity index 100%
rename from images/linked-roles-consent-dialog.png
rename to static/images/linked-roles-consent-dialog.png
diff --git a/images/linked-roles-glitch-share-url.png b/static/images/linked-roles-glitch-share-url.png
similarity index 100%
rename from images/linked-roles-glitch-share-url.png
rename to static/images/linked-roles-glitch-share-url.png
diff --git a/images/linked-roles-glitch.png b/static/images/linked-roles-glitch.png
similarity index 100%
rename from images/linked-roles-glitch.png
rename to static/images/linked-roles-glitch.png
diff --git a/images/linked-roles-oauth-config.png b/static/images/linked-roles-oauth-config.png
similarity index 100%
rename from images/linked-roles-oauth-config.png
rename to static/images/linked-roles-oauth-config.png
diff --git a/images/linked-roles-register.png b/static/images/linked-roles-register.png
similarity index 100%
rename from images/linked-roles-register.png
rename to static/images/linked-roles-register.png
diff --git a/images/linked-roles-verification-setup.png b/static/images/linked-roles-verification-setup.png
similarity index 100%
rename from images/linked-roles-verification-setup.png
rename to static/images/linked-roles-verification-setup.png
diff --git a/images/linked-roles-verify-endpoint.png b/static/images/linked-roles-verify-endpoint.png
similarity index 100%
rename from images/linked-roles-verify-endpoint.png
rename to static/images/linked-roles-verify-endpoint.png
diff --git a/images/mdx-button.png b/static/images/mdx-button.png
similarity index 100%
rename from images/mdx-button.png
rename to static/images/mdx-button.png
diff --git a/images/mdx-card.png b/static/images/mdx-card.png
similarity index 100%
rename from images/mdx-card.png
rename to static/images/mdx-card.png
diff --git a/images/mdx-collapsible.png b/static/images/mdx-collapsible.png
similarity index 100%
rename from images/mdx-collapsible.png
rename to static/images/mdx-collapsible.png
diff --git a/images/message-command.png b/static/images/message-command.png
similarity index 100%
rename from images/message-command.png
rename to static/images/message-command.png
diff --git a/images/mobile-select.png b/static/images/mobile-select.png
similarity index 100%
rename from images/mobile-select.png
rename to static/images/mobile-select.png
diff --git a/images/modal-desktop.png b/static/images/modal-desktop.png
similarity index 100%
rename from images/modal-desktop.png
rename to static/images/modal-desktop.png
diff --git a/images/monetization-eligibility.png b/static/images/monetization-eligibility.png
similarity index 100%
rename from images/monetization-eligibility.png
rename to static/images/monetization-eligibility.png
diff --git a/images/monetization-interaction-response.png b/static/images/monetization-interaction-response.png
similarity index 100%
rename from images/monetization-interaction-response.png
rename to static/images/monetization-interaction-response.png
diff --git a/images/monetization-overview.png b/static/images/monetization-overview.png
similarity index 100%
rename from images/monetization-overview.png
rename to static/images/monetization-overview.png
diff --git a/images/monetization.png b/static/images/monetization.png
similarity index 100%
rename from images/monetization.png
rename to static/images/monetization.png
diff --git a/images/multiple-buttons-example-1.png b/static/images/multiple-buttons-example-1.png
similarity index 100%
rename from images/multiple-buttons-example-1.png
rename to static/images/multiple-buttons-example-1.png
diff --git a/images/multiple-buttons-example-2.png b/static/images/multiple-buttons-example-2.png
similarity index 100%
rename from images/multiple-buttons-example-2.png
rename to static/images/multiple-buttons-example-2.png
diff --git a/images/multisub.png b/static/images/multisub.png
similarity index 100%
rename from images/multisub.png
rename to static/images/multisub.png
diff --git a/images/new-permissions-flowchart.svg b/static/images/new-permissions-flowchart.svg
similarity index 100%
rename from images/new-permissions-flowchart.svg
rename to static/images/new-permissions-flowchart.svg
diff --git a/images/overview-command-desktop.png b/static/images/overview-command-desktop.png
similarity index 100%
rename from images/overview-command-desktop.png
rename to static/images/overview-command-desktop.png
diff --git a/images/overview-components.png b/static/images/overview-components.png
similarity index 100%
rename from images/overview-components.png
rename to static/images/overview-components.png
diff --git a/images/overview-modals.png b/static/images/overview-modals.png
similarity index 100%
rename from images/overview-modals.png
rename to static/images/overview-modals.png
diff --git a/images/overview-of-apps-banner.png b/static/images/overview-of-apps-banner.png
similarity index 100%
rename from images/overview-of-apps-banner.png
rename to static/images/overview-of-apps-banner.png
diff --git a/images/premium-button.png b/static/images/premium-button.png
similarity index 100%
rename from images/premium-button.png
rename to static/images/premium-button.png
diff --git a/images/premium-example.png b/static/images/premium-example.png
similarity index 100%
rename from images/premium-example.png
rename to static/images/premium-example.png
diff --git a/images/premium-items.png b/static/images/premium-items.png
similarity index 100%
rename from images/premium-items.png
rename to static/images/premium-items.png
diff --git a/images/premium-subscriptions.png b/static/images/premium-subscriptions.png
similarity index 100%
rename from images/premium-subscriptions.png
rename to static/images/premium-subscriptions.png
diff --git a/images/previous-new-server-background.png b/static/images/previous-new-server-background.png
similarity index 100%
rename from images/previous-new-server-background.png
rename to static/images/previous-new-server-background.png
diff --git a/images/rich-presence-asset-images.png b/static/images/rich-presence-asset-images.png
similarity index 100%
rename from images/rich-presence-asset-images.png
rename to static/images/rich-presence-asset-images.png
diff --git a/images/rich-presence-examples.png b/static/images/rich-presence-examples.png
similarity index 100%
rename from images/rich-presence-examples.png
rename to static/images/rich-presence-examples.png
diff --git a/images/rich-presence-invite-image.png b/static/images/rich-presence-invite-image.png
similarity index 100%
rename from images/rich-presence-invite-image.png
rename to static/images/rich-presence-invite-image.png
diff --git a/images/rp-actionable.png b/static/images/rp-actionable.png
similarity index 100%
rename from images/rp-actionable.png
rename to static/images/rp-actionable.png
diff --git a/images/rp-all-fields.png b/static/images/rp-all-fields.png
similarity index 100%
rename from images/rp-all-fields.png
rename to static/images/rp-all-fields.png
diff --git a/images/rp-good-art.png b/static/images/rp-good-art.png
similarity index 100%
rename from images/rp-good-art.png
rename to static/images/rp-good-art.png
diff --git a/images/rp-legend.png b/static/images/rp-legend.png
similarity index 100%
rename from images/rp-legend.png
rename to static/images/rp-legend.png
diff --git a/images/rp-profile-example-1.png b/static/images/rp-profile-example-1.png
similarity index 100%
rename from images/rp-profile-example-1.png
rename to static/images/rp-profile-example-1.png
diff --git a/images/rp-profile-example-2.png b/static/images/rp-profile-example-2.png
similarity index 100%
rename from images/rp-profile-example-2.png
rename to static/images/rp-profile-example-2.png
diff --git a/images/rp-short-strings.png b/static/images/rp-short-strings.png
similarity index 100%
rename from images/rp-short-strings.png
rename to static/images/rp-short-strings.png
diff --git a/images/server-banner-example.png b/static/images/server-banner-example.png
similarity index 100%
rename from images/server-banner-example.png
rename to static/images/server-banner-example.png
diff --git a/images/server-banner-margin-top.png b/static/images/server-banner-margin-top.png
similarity index 100%
rename from images/server-banner-margin-top.png
rename to static/images/server-banner-margin-top.png
diff --git a/images/sku-benefits.png b/static/images/sku-benefits.png
similarity index 100%
rename from images/sku-benefits.png
rename to static/images/sku-benefits.png
diff --git a/images/sku-configure.png b/static/images/sku-configure.png
similarity index 100%
rename from images/sku-configure.png
rename to static/images/sku-configure.png
diff --git a/images/sku-custom.png b/static/images/sku-custom.png
similarity index 100%
rename from images/sku-custom.png
rename to static/images/sku-custom.png
diff --git a/images/sku-customization.png b/static/images/sku-customization.png
similarity index 100%
rename from images/sku-customization.png
rename to static/images/sku-customization.png
diff --git a/images/sku-management.png b/static/images/sku-management.png
similarity index 100%
rename from images/sku-management.png
rename to static/images/sku-management.png
diff --git a/images/sku-publish.png b/static/images/sku-publish.png
similarity index 100%
rename from images/sku-publish.png
rename to static/images/sku-publish.png
diff --git a/images/sku-unicode.png b/static/images/sku-unicode.png
similarity index 100%
rename from images/sku-unicode.png
rename to static/images/sku-unicode.png
diff --git a/images/sku_embed.png b/static/images/sku_embed.png
similarity index 100%
rename from images/sku_embed.png
rename to static/images/sku_embed.png
diff --git a/images/slash-command-options.png b/static/images/slash-command-options.png
similarity index 100%
rename from images/slash-command-options.png
rename to static/images/slash-command-options.png
diff --git a/images/snowflake.png b/static/images/snowflake.png
similarity index 100%
rename from images/snowflake.png
rename to static/images/snowflake.png
diff --git a/images/snowflake_original_size.png b/static/images/snowflake_original_size.png
similarity index 100%
rename from images/snowflake_original_size.png
rename to static/images/snowflake_original_size.png
diff --git a/images/social-sdk/design-guidelines/Brand-02.png b/static/images/social-sdk/design-guidelines/Brand-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Brand-02.png
rename to static/images/social-sdk/design-guidelines/Brand-02.png
diff --git a/images/social-sdk/design-guidelines/Brand-03.png b/static/images/social-sdk/design-guidelines/Brand-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Brand-03.png
rename to static/images/social-sdk/design-guidelines/Brand-03.png
diff --git a/images/social-sdk/design-guidelines/Brand-04.png b/static/images/social-sdk/design-guidelines/Brand-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Brand-04.png
rename to static/images/social-sdk/design-guidelines/Brand-04.png
diff --git a/images/social-sdk/design-guidelines/ConnectionPoints-02.png b/static/images/social-sdk/design-guidelines/ConnectionPoints-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/ConnectionPoints-02.png
rename to static/images/social-sdk/design-guidelines/ConnectionPoints-02.png
diff --git a/images/social-sdk/design-guidelines/ConnectionPoints-03.png b/static/images/social-sdk/design-guidelines/ConnectionPoints-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/ConnectionPoints-03.png
rename to static/images/social-sdk/design-guidelines/ConnectionPoints-03.png
diff --git a/images/social-sdk/design-guidelines/ConnectionPoints-04.png b/static/images/social-sdk/design-guidelines/ConnectionPoints-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/ConnectionPoints-04.png
rename to static/images/social-sdk/design-guidelines/ConnectionPoints-04.png
diff --git a/images/social-sdk/design-guidelines/ConnectionPoints-05.png b/static/images/social-sdk/design-guidelines/ConnectionPoints-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/ConnectionPoints-05.png
rename to static/images/social-sdk/design-guidelines/ConnectionPoints-05.png
diff --git a/images/social-sdk/design-guidelines/Consoles-01.jpg b/static/images/social-sdk/design-guidelines/Consoles-01.jpg
similarity index 100%
rename from images/social-sdk/design-guidelines/Consoles-01.jpg
rename to static/images/social-sdk/design-guidelines/Consoles-01.jpg
diff --git a/images/social-sdk/design-guidelines/Consoles-02.jpg b/static/images/social-sdk/design-guidelines/Consoles-02.jpg
similarity index 100%
rename from images/social-sdk/design-guidelines/Consoles-02.jpg
rename to static/images/social-sdk/design-guidelines/Consoles-02.jpg
diff --git a/images/social-sdk/design-guidelines/Consoles-03.jpg b/static/images/social-sdk/design-guidelines/Consoles-03.jpg
similarity index 100%
rename from images/social-sdk/design-guidelines/Consoles-03.jpg
rename to static/images/social-sdk/design-guidelines/Consoles-03.jpg
diff --git a/images/social-sdk/design-guidelines/Consoles-04.jpg b/static/images/social-sdk/design-guidelines/Consoles-04.jpg
similarity index 100%
rename from images/social-sdk/design-guidelines/Consoles-04.jpg
rename to static/images/social-sdk/design-guidelines/Consoles-04.jpg
diff --git a/images/social-sdk/design-guidelines/Consoles-05.jpg b/static/images/social-sdk/design-guidelines/Consoles-05.jpg
similarity index 100%
rename from images/social-sdk/design-guidelines/Consoles-05.jpg
rename to static/images/social-sdk/design-guidelines/Consoles-05.jpg
diff --git a/images/social-sdk/design-guidelines/Consoles-06.jpg b/static/images/social-sdk/design-guidelines/Consoles-06.jpg
similarity index 100%
rename from images/social-sdk/design-guidelines/Consoles-06.jpg
rename to static/images/social-sdk/design-guidelines/Consoles-06.jpg
diff --git a/images/social-sdk/design-guidelines/DMs-02.png b/static/images/social-sdk/design-guidelines/DMs-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/DMs-02.png
rename to static/images/social-sdk/design-guidelines/DMs-02.png
diff --git a/images/social-sdk/design-guidelines/DMs-03.png b/static/images/social-sdk/design-guidelines/DMs-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/DMs-03.png
rename to static/images/social-sdk/design-guidelines/DMs-03.png
diff --git a/images/social-sdk/design-guidelines/DMs-04.png b/static/images/social-sdk/design-guidelines/DMs-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/DMs-04.png
rename to static/images/social-sdk/design-guidelines/DMs-04.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-01.png b/static/images/social-sdk/design-guidelines/GameFriends-01.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-01.png
rename to static/images/social-sdk/design-guidelines/GameFriends-01.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-02.png b/static/images/social-sdk/design-guidelines/GameFriends-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-02.png
rename to static/images/social-sdk/design-guidelines/GameFriends-02.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-03.png b/static/images/social-sdk/design-guidelines/GameFriends-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-03.png
rename to static/images/social-sdk/design-guidelines/GameFriends-03.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-04.png b/static/images/social-sdk/design-guidelines/GameFriends-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-04.png
rename to static/images/social-sdk/design-guidelines/GameFriends-04.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-05.png b/static/images/social-sdk/design-guidelines/GameFriends-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-05.png
rename to static/images/social-sdk/design-guidelines/GameFriends-05.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-06.png b/static/images/social-sdk/design-guidelines/GameFriends-06.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-06.png
rename to static/images/social-sdk/design-guidelines/GameFriends-06.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-07.png b/static/images/social-sdk/design-guidelines/GameFriends-07.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-07.png
rename to static/images/social-sdk/design-guidelines/GameFriends-07.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-08.png b/static/images/social-sdk/design-guidelines/GameFriends-08.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-08.png
rename to static/images/social-sdk/design-guidelines/GameFriends-08.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-09.png b/static/images/social-sdk/design-guidelines/GameFriends-09.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-09.png
rename to static/images/social-sdk/design-guidelines/GameFriends-09.png
diff --git a/images/social-sdk/design-guidelines/GameFriends-10.png b/static/images/social-sdk/design-guidelines/GameFriends-10.png
similarity index 100%
rename from images/social-sdk/design-guidelines/GameFriends-10.png
rename to static/images/social-sdk/design-guidelines/GameFriends-10.png
diff --git a/images/social-sdk/design-guidelines/LinkedChannels-04.png b/static/images/social-sdk/design-guidelines/LinkedChannels-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/LinkedChannels-04.png
rename to static/images/social-sdk/design-guidelines/LinkedChannels-04.png
diff --git a/images/social-sdk/design-guidelines/LinkedChannels-05.png b/static/images/social-sdk/design-guidelines/LinkedChannels-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/LinkedChannels-05.png
rename to static/images/social-sdk/design-guidelines/LinkedChannels-05.png
diff --git a/images/social-sdk/design-guidelines/LinkedChannels-06.png b/static/images/social-sdk/design-guidelines/LinkedChannels-06.png
similarity index 100%
rename from images/social-sdk/design-guidelines/LinkedChannels-06.png
rename to static/images/social-sdk/design-guidelines/LinkedChannels-06.png
diff --git a/images/social-sdk/design-guidelines/LinkedChannels-07.png b/static/images/social-sdk/design-guidelines/LinkedChannels-07.png
similarity index 100%
rename from images/social-sdk/design-guidelines/LinkedChannels-07.png
rename to static/images/social-sdk/design-guidelines/LinkedChannels-07.png
diff --git a/images/social-sdk/design-guidelines/Principle-02.png b/static/images/social-sdk/design-guidelines/Principle-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Principle-02.png
rename to static/images/social-sdk/design-guidelines/Principle-02.png
diff --git a/images/social-sdk/design-guidelines/Principle-03.png b/static/images/social-sdk/design-guidelines/Principle-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Principle-03.png
rename to static/images/social-sdk/design-guidelines/Principle-03.png
diff --git a/images/social-sdk/design-guidelines/Principle-04.png b/static/images/social-sdk/design-guidelines/Principle-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Principle-04.png
rename to static/images/social-sdk/design-guidelines/Principle-04.png
diff --git a/images/social-sdk/design-guidelines/Principle-05.png b/static/images/social-sdk/design-guidelines/Principle-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Principle-05.png
rename to static/images/social-sdk/design-guidelines/Principle-05.png
diff --git a/images/social-sdk/design-guidelines/Principle-06.png b/static/images/social-sdk/design-guidelines/Principle-06.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Principle-06.png
rename to static/images/social-sdk/design-guidelines/Principle-06.png
diff --git a/images/social-sdk/design-guidelines/Principle-07.png b/static/images/social-sdk/design-guidelines/Principle-07.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Principle-07.png
rename to static/images/social-sdk/design-guidelines/Principle-07.png
diff --git a/images/social-sdk/design-guidelines/Prov-02.png b/static/images/social-sdk/design-guidelines/Prov-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Prov-02.png
rename to static/images/social-sdk/design-guidelines/Prov-02.png
diff --git a/images/social-sdk/design-guidelines/Prov-03.png b/static/images/social-sdk/design-guidelines/Prov-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Prov-03.png
rename to static/images/social-sdk/design-guidelines/Prov-03.png
diff --git a/images/social-sdk/design-guidelines/Prov-04.png b/static/images/social-sdk/design-guidelines/Prov-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Prov-04.png
rename to static/images/social-sdk/design-guidelines/Prov-04.png
diff --git a/images/social-sdk/design-guidelines/Prov-05.png b/static/images/social-sdk/design-guidelines/Prov-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/Prov-05.png
rename to static/images/social-sdk/design-guidelines/Prov-05.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-02.png b/static/images/social-sdk/design-guidelines/SigningIn-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-02.png
rename to static/images/social-sdk/design-guidelines/SigningIn-02.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-03.png b/static/images/social-sdk/design-guidelines/SigningIn-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-03.png
rename to static/images/social-sdk/design-guidelines/SigningIn-03.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-04.png b/static/images/social-sdk/design-guidelines/SigningIn-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-04.png
rename to static/images/social-sdk/design-guidelines/SigningIn-04.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-05.png b/static/images/social-sdk/design-guidelines/SigningIn-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-05.png
rename to static/images/social-sdk/design-guidelines/SigningIn-05.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-06.png b/static/images/social-sdk/design-guidelines/SigningIn-06.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-06.png
rename to static/images/social-sdk/design-guidelines/SigningIn-06.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-07.png b/static/images/social-sdk/design-guidelines/SigningIn-07.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-07.png
rename to static/images/social-sdk/design-guidelines/SigningIn-07.png
diff --git a/images/social-sdk/design-guidelines/SigningIn-08.png b/static/images/social-sdk/design-guidelines/SigningIn-08.png
similarity index 100%
rename from images/social-sdk/design-guidelines/SigningIn-08.png
rename to static/images/social-sdk/design-guidelines/SigningIn-08.png
diff --git a/images/social-sdk/design-guidelines/StatusPresence-02.png b/static/images/social-sdk/design-guidelines/StatusPresence-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/StatusPresence-02.png
rename to static/images/social-sdk/design-guidelines/StatusPresence-02.png
diff --git a/images/social-sdk/design-guidelines/StatusPresence-03.png b/static/images/social-sdk/design-guidelines/StatusPresence-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/StatusPresence-03.png
rename to static/images/social-sdk/design-guidelines/StatusPresence-03.png
diff --git a/images/social-sdk/design-guidelines/StatusPresence-04.png b/static/images/social-sdk/design-guidelines/StatusPresence-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/StatusPresence-04.png
rename to static/images/social-sdk/design-guidelines/StatusPresence-04.png
diff --git a/images/social-sdk/design-guidelines/StatusPresence-05.png b/static/images/social-sdk/design-guidelines/StatusPresence-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/StatusPresence-05.png
rename to static/images/social-sdk/design-guidelines/StatusPresence-05.png
diff --git a/images/social-sdk/design-guidelines/StatusPresence-06.png b/static/images/social-sdk/design-guidelines/StatusPresence-06.png
similarity index 100%
rename from images/social-sdk/design-guidelines/StatusPresence-06.png
rename to static/images/social-sdk/design-guidelines/StatusPresence-06.png
diff --git a/images/social-sdk/design-guidelines/UFL-02.png b/static/images/social-sdk/design-guidelines/UFL-02.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-02.png
rename to static/images/social-sdk/design-guidelines/UFL-02.png
diff --git a/images/social-sdk/design-guidelines/UFL-03.png b/static/images/social-sdk/design-guidelines/UFL-03.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-03.png
rename to static/images/social-sdk/design-guidelines/UFL-03.png
diff --git a/images/social-sdk/design-guidelines/UFL-04.png b/static/images/social-sdk/design-guidelines/UFL-04.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-04.png
rename to static/images/social-sdk/design-guidelines/UFL-04.png
diff --git a/images/social-sdk/design-guidelines/UFL-05.png b/static/images/social-sdk/design-guidelines/UFL-05.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-05.png
rename to static/images/social-sdk/design-guidelines/UFL-05.png
diff --git a/images/social-sdk/design-guidelines/UFL-06.png b/static/images/social-sdk/design-guidelines/UFL-06.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-06.png
rename to static/images/social-sdk/design-guidelines/UFL-06.png
diff --git a/images/social-sdk/design-guidelines/UFL-07.png b/static/images/social-sdk/design-guidelines/UFL-07.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-07.png
rename to static/images/social-sdk/design-guidelines/UFL-07.png
diff --git a/images/social-sdk/design-guidelines/UFL-08.png b/static/images/social-sdk/design-guidelines/UFL-08.png
similarity index 100%
rename from images/social-sdk/design-guidelines/UFL-08.png
rename to static/images/social-sdk/design-guidelines/UFL-08.png
diff --git a/images/social-sdk/design-guidelines/animated/Connecting-via-Browser.gif b/static/images/social-sdk/design-guidelines/animated/Connecting-via-Browser.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/Connecting-via-Browser.gif
rename to static/images/social-sdk/design-guidelines/animated/Connecting-via-Browser.gif
diff --git a/images/social-sdk/design-guidelines/animated/Connecting-via-Client.gif b/static/images/social-sdk/design-guidelines/animated/Connecting-via-Client.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/Connecting-via-Client.gif
rename to static/images/social-sdk/design-guidelines/animated/Connecting-via-Client.gif
diff --git a/images/social-sdk/design-guidelines/animated/DMs-02.gif b/static/images/social-sdk/design-guidelines/animated/DMs-02.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/DMs-02.gif
rename to static/images/social-sdk/design-guidelines/animated/DMs-02.gif
diff --git a/images/social-sdk/design-guidelines/animated/LinkedChannel-Setup.gif b/static/images/social-sdk/design-guidelines/animated/LinkedChannel-Setup.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/LinkedChannel-Setup.gif
rename to static/images/social-sdk/design-guidelines/animated/LinkedChannel-Setup.gif
diff --git a/images/social-sdk/design-guidelines/animated/LinkedChannel-Unlink.gif b/static/images/social-sdk/design-guidelines/animated/LinkedChannel-Unlink.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/LinkedChannel-Unlink.gif
rename to static/images/social-sdk/design-guidelines/animated/LinkedChannel-Unlink.gif
diff --git a/images/social-sdk/design-guidelines/animated/LinkedChannels-02.gif b/static/images/social-sdk/design-guidelines/animated/LinkedChannels-02.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/LinkedChannels-02.gif
rename to static/images/social-sdk/design-guidelines/animated/LinkedChannels-02.gif
diff --git a/images/social-sdk/design-guidelines/animated/LinkedChannels-08.gif b/static/images/social-sdk/design-guidelines/animated/LinkedChannels-08.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/LinkedChannels-08.gif
rename to static/images/social-sdk/design-guidelines/animated/LinkedChannels-08.gif
diff --git a/images/social-sdk/design-guidelines/animated/UFL-06.gif b/static/images/social-sdk/design-guidelines/animated/UFL-06.gif
similarity index 100%
rename from images/social-sdk/design-guidelines/animated/UFL-06.gif
rename to static/images/social-sdk/design-guidelines/animated/UFL-06.gif
diff --git a/images/social-sdk/development-guides/authorize_device.png b/static/images/social-sdk/development-guides/authorize_device.png
similarity index 100%
rename from images/social-sdk/development-guides/authorize_device.png
rename to static/images/social-sdk/development-guides/authorize_device.png
diff --git a/images/social-sdk/getting-started/partials/error.png b/static/images/social-sdk/getting-started/partials/error.png
similarity index 100%
rename from images/social-sdk/getting-started/partials/error.png
rename to static/images/social-sdk/getting-started/partials/error.png
diff --git a/images/social-sdk/getting-started/partials/open-anyway.png b/static/images/social-sdk/getting-started/partials/open-anyway.png
similarity index 100%
rename from images/social-sdk/getting-started/partials/open-anyway.png
rename to static/images/social-sdk/getting-started/partials/open-anyway.png
diff --git a/images/social-sdk/getting-started/partials/settings-security.png b/static/images/social-sdk/getting-started/partials/settings-security.png
similarity index 100%
rename from images/social-sdk/getting-started/partials/settings-security.png
rename to static/images/social-sdk/getting-started/partials/settings-security.png
diff --git a/images/social-sdk/overview/social_sdk_header.png b/static/images/social-sdk/overview/social_sdk_header.png
similarity index 100%
rename from images/social-sdk/overview/social_sdk_header.png
rename to static/images/social-sdk/overview/social_sdk_header.png
diff --git a/images/spectate.gif b/static/images/spectate.gif
similarity index 100%
rename from images/spectate.gif
rename to static/images/spectate.gif
diff --git a/images/store_embed.png b/static/images/store_embed.png
similarity index 100%
rename from images/store_embed.png
rename to static/images/store_embed.png
diff --git a/images/team-page.png b/static/images/team-page.png
similarity index 100%
rename from images/team-page.png
rename to static/images/team-page.png
diff --git a/images/transfer-app-to-team.png b/static/images/transfer-app-to-team.png
similarity index 100%
rename from images/transfer-app-to-team.png
rename to static/images/transfer-app-to-team.png
diff --git a/images/url-generator.png b/static/images/url-generator.png
similarity index 100%
rename from images/url-generator.png
rename to static/images/url-generator.png
diff --git a/images/user-command.png b/static/images/user-command.png
similarity index 100%
rename from images/user-command.png
rename to static/images/user-command.png
diff --git a/images/user-install-game-message.png b/static/images/user-install-game-message.png
similarity index 100%
rename from images/user-install-game-message.png
rename to static/images/user-install-game-message.png
diff --git a/images/user-install-settings.png b/static/images/user-install-settings.png
similarity index 100%
rename from images/user-install-settings.png
rename to static/images/user-install-settings.png