Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 15 additions & 5 deletions docs/activities/building-an-activity.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ With our project set up, let's create our app and configure the Activity. Create
Enter a name for your app, select a development team, then press **Create**.

:::info
**Development Team Access** <br />Launching a non-distributed Activity is limited to you or members of the developer team, so if you're collaborating with others during development, create a [developer team](https://discord.com/developers/teams) and set it to the owner when you create the app.
**Development Team Access**

Launching a non-distributed Activity is limited to you or members of the developer team, so if you're collaborating with others during development, create a [developer team](https://discord.com/developers/teams) and set it to the owner when you create the app.
:::

After you create your app, you'll land on the **General Overview** page of the app's settings, where you can update basic information about your app like its description and icon.
Expand Down Expand Up @@ -160,15 +162,19 @@ cp example.env .env
```

:::warn
**Secure Your Secrets**<br /> Your `DISCORD_CLIENT_SECRET` and `DISCORD_BOT_TOKEN` are *highly* sensitive secrets. Never share either secrets or check them into any kind of version control.
**Secure Your Secrets**

Your `DISCORD_CLIENT_SECRET` and `DISCORD_BOT_TOKEN` are *highly* sensitive secrets. Never share either secrets or check them into any kind of version control.
:::

Back in your app's settings, click on **OAuth2** on the sidebar:
1. **Client ID**: Copy the value for Client ID and add it to your `.env` file as **`VITE_CLIENT_ID`**. This is the public ID that Discord associates with your app, and is almost always the same as your App ID.
2. **Client Secret**: Copy the value for Client Secret and add it to your `.env` as **`DISCORD_CLIENT_SECRET`**. This is a private, sensitive identifier that your app will use to grant an OAuth2 `access_token`, and should never be shared or checked into version control.

:::info
**Why is there a VITE_ prefix before our Client ID?**<br />Prefixing the `CLIENT_ID` environment variable with `VITE_` makes it accessible to our client-side code. This security measure ensures that only the variables you intend to be accessible in the browser are available, and all other environment variables remain private. You can read details in the [Vite documentation](https://vitejs.dev/guide/env-and-mode).
**Why is there a VITE_ prefix before our Client ID?**

Prefixing the `CLIENT_ID` environment variable with `VITE_` makes it accessible to our client-side code. This security measure ensures that only the variables you intend to be accessible in the browser are available, and all other environment variables remain private. You can read details in the [Vite documentation](https://vitejs.dev/guide/env-and-mode).
:::

<Collapsible title="Step 2 Checkpoint" icon="list" open>
Expand Down Expand Up @@ -239,7 +245,9 @@ document.querySelector('#app').innerHTML = `
</Collapsible>

:::warn
**Time to leave your browser behind**<br />Once you add the SDK to your app, you will **not** be able to view your app inside your web browser. In the next step, we will run your Activity inside of Discord. In the next step, we will go over how to view your app in Discord.
**Time to leave your browser behind**

Once you add the SDK to your app, you will **not** be able to view your app inside your web browser. In the next step, we will run your Activity inside of Discord. In the next step, we will go over how to view your app in Discord.
:::

<Collapsible title="Step 3 Checkpoint" icon="list" open>
Expand Down Expand Up @@ -336,7 +344,9 @@ Clicking on your app will launch your locally running app from inside Discord!
![Running your activity](images/activities/start-activity.png)

:::info
**Customizing your Activity** <br/> 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).
**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).
:::

We're looking pretty good so far, but we haven't wired up any Discord functionality yet. Let's do that next.
Expand Down
2 changes: 1 addition & 1 deletion docs/developer-tools/embedded-app-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,7 @@ No scopes required
### ENTITLEMENT_CREATE

:::preview
Coming soon! Not available during Developer Preview
Coming soon! Not available during Developer Preview
:::

## SDK Interfaces
Expand Down
6 changes: 5 additions & 1 deletion docs/developer-tools/game-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
# Game SDK

:::warn
**The Game SDK has been archived.**<br />We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects. <br />Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
**The Game SDK has been archived.**

We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects.

Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
:::

Welcome to the documentation for the Discord Game SDK! We're glad you made it. The Game SDK helps you develop your 3rd party game or app, and integrate it with Discord.
Expand Down
4 changes: 2 additions & 2 deletions docs/discord-social-sdk/core-concepts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The following features are only fully unlocked when joining the closed beta:
While these limited access features are available in the Discord Social SDK, their usage is capped with a rate limit. Please read our [documentation on rate limits](/docs/topics/rate-limits) to learn more.

:::preview
To apply for full access to closed beta features or to reach out to Discord directly to discuss your game, please fill out [this form](https://discord.com/developers/social-sdk-closed-beta-access-request-form).
To apply for full access to closed beta features or to reach out to Discord directly to discuss your game, please fill out [this form](https://discord.com/developers/social-sdk-closed-beta-access-request-form).
:::

---
Expand Down Expand Up @@ -215,7 +215,7 @@ Some SDK features are currently available but have limited access. Those feature
- `sdk.social_layer`

:::preview
For more information about these features, please see [Core Concepts: Limited Access Features](/docs/discord-social-sdk/core-concepts#limited-access-features).
For more information about these features, please see [Core Concepts: Limited Access Features](/docs/discord-social-sdk/core-concepts#limited-access-features).
:::

The Social SDK provides two helper methods that you can use when setting up your OAuth2 flow:
Expand Down
3 changes: 1 addition & 2 deletions docs/discord-social-sdk/getting-started/using-c++.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,7 @@ Most Discord features won't work until the status is [`Client::Status::Ready`].
- The **status callback** tells you when you're connected and ready to use Discord features

:::info
At this point, these callbacks **won't get called** since the client setup is not yet complete. However, very soon we
will be using them to view debug information and see what our connection status is!
At this point, these callbacks **won't get called** since the client setup is not yet complete. However, very soon we will be using them to view debug information and see what our connection status is!
:::

To get to a [`Client::Status::Ready`] state, we need to authenticate with Discord. We'll do that shortly.
Expand Down
2 changes: 1 addition & 1 deletion docs/discord-social-sdk/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Start integrating the SDK into your game with our getting started guides, design
Discord Social SDK features for text and voice communication are available but have limited access.

:::preview
For more information on how to access these features, please see [Core Concepts: Limited Access Features](/docs/discord-social-sdk/core-concepts#limited-access-features).
For more information on how to access these features, please see [Core Concepts: Limited Access Features](/docs/discord-social-sdk/core-concepts#limited-access-features).
:::

---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
:::preview
This feature is currently available with [limited access](/docs/discord-social-sdk/core-concepts#limited-access-features). To apply for full access to closed beta features, or to reach out to Discord directly to discuss your game, please fill out [this form](https://discord.com/developers/social-sdk-closed-beta-access-request-form).
This feature is currently available with [limited access](/docs/discord-social-sdk/core-concepts#limited-access-features). To apply for full access to closed beta features, or to reach out to Discord directly to discuss your game, please fill out [this form](https://discord.com/developers/social-sdk-closed-beta-access-request-form).
:::
4 changes: 2 additions & 2 deletions docs/interactions/application-commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@ Slash commands—the `CHAT_INPUT` type—are a type of application command. They
Slash commands can also have groups and subcommands to further organize commands. More on those later.

:::warn
Slash commands can have a maximum of 8000 characters for combined name, description, and value properties for each command, its options (including subcommands and groups), and choices. When [localization fields](/docs/interactions/application-commands#localization) are present, only the longest localization for each field (including the default value) is counted towards the size limit.
Slash commands can have a maximum of 8000 characters for combined name, description, and value properties for each command, its options (including subcommands and groups), and choices. When [localization fields](/docs/interactions/application-commands#localization) are present, only the longest localization for each field (including the default value) is counted towards the size limit.
:::


Expand Down Expand Up @@ -1096,7 +1096,7 @@ An application command furnished with localizations might look like this:
For application commands, there are built-in fallbacks in case a user's locale isn't present in the localizations. If the fallback locale is also missing, it will use the default.

:::warn
You should make sure to include your default value in its proper locale key, otherwise it may use a fallback value unexpectedly. For example, if your default value is `en-US`, but you don't specify the `en-US` value in your localizations, users with `en-US` selected will see the `en-GB` value if it's specified. For example, if you have a command with the default name "color", and your localizations specify only the `en-GB` value as "colour", users in the `en-US` locale will see "colour" because the `en-US` key is missing.
You should make sure to include your default value in its proper locale key, otherwise it may use a fallback value unexpectedly. For example, if your default value is `en-US`, but you don't specify the `en-US` value in your localizations, users with `en-US` selected will see the `en-GB` value if it's specified. For example, if you have a command with the default name "color", and your localizations specify only the `en-GB` value as "colour", users in the `en-US` locale will see "colour" because the `en-US` key is missing.
:::

| Locale | Fallback |
Expand Down
6 changes: 4 additions & 2 deletions docs/monetization/managing-skus.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,10 @@ Subscription SKUs are automatically charged each month unless canceled. Changing
To set an icon using a standard Unicode emoji, enter the emoji in the `Unicode Emoji or Custom Emoji Name` field.

:::info
Using an emoji keyboard can make it easier to pick an icon to display alongside your SKU benefit.
MacOS: `control + command + space bar`
Using an emoji keyboard can make it easier to pick an icon to display alongside your SKU benefit.

MacOS: `control + command + space bar`

Windows: `Windows + .`
:::

Expand Down
2 changes: 1 addition & 1 deletion docs/reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@ The `attachments` JSON parameter includes all files that will be appended to the

###### Example Request Bodies (multipart/form-data)

Note that these examples are small sections of an HTTP request to demonstrate behaviour of this endpoint - client libraries will set their own form boundaries (`boundary` is just an example). For more information, refer to the [multipart/form-data spec](https://tools.ietf.org/html/rfc7578#section-4).
Note that these examples are small sections of an HTTP request to demonstrate behavior of this endpoint - client libraries will set their own form boundaries (`boundary` is just an example). For more information, refer to the [multipart/form-data spec](https://tools.ietf.org/html/rfc7578#section-4).

This example demonstrates usage of the endpoint *without* `payload_json`.

Expand Down
10 changes: 6 additions & 4 deletions docs/resources/emoji.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,13 @@ The `user` field of an app emoji object represents the team member that uploaded

###### Custom Emoji Examples

>info
>In `MESSAGE_REACTION_ADD`, `MESSAGE_REACTION_REMOVE` and `MESSAGE_REACTION_REMOVE_EMOJI` gateway events `animated` will be returned for animated emoji.
:::info
In `MESSAGE_REACTION_ADD`, `MESSAGE_REACTION_REMOVE` and `MESSAGE_REACTION_REMOVE_EMOJI` gateway events `animated` will be returned for animated emoji.
:::

>info
>In `MESSAGE_REACTION_ADD` and `MESSAGE_REACTION_REMOVE` gateway events `name` may be `null` when custom emoji data is not available (for example, if it was deleted from the guild).
:::info
In `MESSAGE_REACTION_ADD` and `MESSAGE_REACTION_REMOVE` gateway events `name` may be `null` when custom emoji data is not available (for example, if it was deleted from the guild).
:::

```json
{
Expand Down
4 changes: 2 additions & 2 deletions docs/resources/message.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ An app will receive empty values in the `content`, `embeds`, `attachments`, and
###### Message Types

:::warn
Type `19` and `20` are only available in API v8 and above. In v6, they are represented as type `0`. Additionally, type `21` is only available in API v9 and above.
Type `19` and `20` are only available in API v8 and above. In v6, they are represented as type `0`. Additionally, type `21` is only available in API v9 and above.
:::

| Type | Value | Deletable |
Expand Down Expand Up @@ -313,7 +313,7 @@ Information about the call in a private channel.
| guild_id? | snowflake | id of the originating message's guild |
| fail_if_not_exists? | boolean | when sending, whether to error if the referenced message doesn't exist instead of sending as a normal (non-reply) message, default true |

\* If `type` is unset, `DEFAULT` can be assumed in order to match the behaviour before message reference had types.
\* If `type` is unset, `DEFAULT` can be assumed in order to match the behavior before message reference had types.
In future API versions this will become a required field.

\*\* `channel_id` is optional when creating a reply, but will always be present when receiving an event/response that includes this data model. **Required for forwards.**
Expand Down
6 changes: 5 additions & 1 deletion docs/rich-presence/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,11 @@ After a user joins an Activity, Rich Presence can be used to dynamically show da
### Game SDK

:::warn
**The Game SDK has been archived.**<br />We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects. <br />Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
**The Game SDK has been archived.**

We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects.

Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
:::

The [Game SDK](/docs/developer-tools/game-sdk) makes it easier to build 3rd party games and integrate them with Discord. While many features of the Game SDK are deprecated, it can still be used for a few use cases (like integrating Rich Presence!).
Expand Down
6 changes: 5 additions & 1 deletion docs/rich-presence/using-with-the-game-sdk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ sidebar_label: Using with the Game SDK
# Using Rich Presence with the Game SDK

:::warn
**The Game SDK has been archived.**<br />We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects. <br />Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
**The Game SDK has been archived.**

We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects.

Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
:::

The [Game SDK](/docs/developer-tools/game-sdk) helps you build 3rd party games and integrate them with Discord. One of its specialties is making it easy to bring your game's data to Discord using [Rich Presence](/docs/rich-presence/overview), which this guide will cover.
Expand Down
3 changes: 1 addition & 2 deletions docs/topics/oauth2.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ These are a list of all the OAuth2 scopes that Discord supports. Some scopes req
| webhook.incoming | this generates a webhook that is returned in the oauth token response for authorization code grants |

:::info
In order to add a user to a guild, your bot has to already belong to that guild.
`role_connections.write` cannot be used with the [Implicit grant type](/docs/topics/oauth2#implicit-grant).
In order to add a user to a guild, your bot has to already belong to that guild. `role_connections.write` cannot be used with the [Implicit grant type](/docs/topics/oauth2#implicit-grant).
:::

## State and Security
Expand Down
14 changes: 2 additions & 12 deletions docs/topics/rpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -485,12 +485,7 @@ Used to change voice settings of users in voice channels
| mute? | boolean | set the mute state of the user |

:::info
In the current release, we only support a single modifier of voice settings at a time over RPC.
If an app changes voice settings, it will lock voice settings so that other apps connected simultaneously
lose the ability to change voice settings. Settings reset to what they were before being changed after the
controlling app disconnects. When an app that has previously set voice settings connects, the client will swap
to that app's configured voice settings and lock voice settings again. This is a temporary situation that will
be changed in the future.
In the current release, we only support a single modifier of voice settings at a time over RPC. If an app changes voice settings, it will lock voice settings so that other apps connected simultaneously lose the ability to change voice settings. Settings reset to what they were before being changed after the controlling app disconnects. When an app that has previously set voice settings connects, the client will swap to that app's configured voice settings and lock voice settings again. This is a temporary situation that will be changed in the future.
:::

###### Pan Object
Expand Down Expand Up @@ -739,12 +734,7 @@ Used to join and leave text channels, group dms, or dms. Returns the [Get Channe
#### SET_VOICE_SETTINGS

:::info
In the current release, we only support a single modifier of voice settings at a time over RPC.
If an app changes voice settings, it will lock voice settings so that other apps connected simultaneously
lose the ability to change voice settings. Settings reset to what they were before being changed after the
controlling app disconnects. When an app that has previously set voice settings connects, the client will swap
to that app's configured voice settings and lock voice settings again. This is a temporary situation that will
be changed in the future.
In the current release, we only support a single modifier of voice settings at a time over RPC. If an app changes voice settings, it will lock voice settings so that other apps connected simultaneously lose the ability to change voice settings. Settings reset to what they were before being changed after the controlling app disconnects. When an app that has previously set voice settings connects, the client will swap to that app's configured voice settings and lock voice settings again. This is a temporary situation that will be changed in the future.
:::

When setting voice settings, all fields are optional. Only passed fields are updated.
Expand Down
Loading