Skip to content

Updated alert boxes #7484

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 21, 2025
Merged
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
@@ -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.
@@ -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>
@@ -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>
@@ -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.
2 changes: 1 addition & 1 deletion docs/developer-tools/embedded-app-sdk.mdx
Original file line number Diff line number Diff line change
@@ -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
6 changes: 5 additions & 1 deletion docs/developer-tools/game-sdk.mdx
Original file line number Diff line number Diff line change
@@ -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.
4 changes: 2 additions & 2 deletions docs/discord-social-sdk/core-concepts.mdx
Original file line number Diff line number Diff line change
@@ -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).
:::

---
@@ -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:
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
@@ -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.
2 changes: 1 addition & 1 deletion docs/discord-social-sdk/overview.mdx
Original file line number Diff line number Diff line change
@@ -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).
:::

---
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
@@ -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.
:::


@@ -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 |
6 changes: 4 additions & 2 deletions docs/monetization/managing-skus.mdx
Original file line number Diff line number Diff line change
@@ -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 + .`
:::

2 changes: 1 addition & 1 deletion docs/reference.mdx
Original file line number Diff line number Diff line change
@@ -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`.

10 changes: 6 additions & 4 deletions docs/resources/emoji.md
Original file line number Diff line number Diff line change
@@ -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
{
4 changes: 2 additions & 2 deletions docs/resources/message.md
Original file line number Diff line number Diff line change
@@ -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 |
@@ -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.**
6 changes: 5 additions & 1 deletion docs/rich-presence/overview.mdx
Original file line number Diff line number Diff line change
@@ -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!).
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
@@ -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.
3 changes: 1 addition & 2 deletions docs/topics/oauth2.md
Original file line number Diff line number Diff line change
@@ -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
14 changes: 2 additions & 12 deletions docs/topics/rpc.md
Original file line number Diff line number Diff line change
@@ -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
@@ -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.
Loading