multiplayer-sdk
v1.1.0
Published
multiplayer-sdk enables you to build rich, multiplayer experiences inside Discord.
Readme
Build rich, multiplayer Activities directly inside Discord.
Discord Activities are interactive games and social experiences that run inside the Discord client on desktop, web, and mobile. Each Activity is a web application embedded in an iframe. The Embedded App SDK powers the communication between your app and Discord, making it possible to create seamless, real-time multiplayer experiences.
📖 Learn more about building Activities in the Discord Developer Docs.
Resources
- Embedded App SDK Docs – Core documentation for the SDK
- Activity Examples – Starter projects and example Activities
- Discord Developers Community – Join the
#activities-dev-helpchannel to chat with other developers
Installation
npm install @discord/multiplayer-sdkUsage
Import the SDK and initialize it with your OAuth2 client ID:
import { DiscordSDK } from '@discord/multiplayer-sdk';
const discordSdk = new DiscordSDK(YOUR_OAUTH2_CLIENT_ID);
async function setup() {
// Wait for the Discord client to signal readiness
await discordSdk.ready();
// Request authorization via Discord’s OAuth2 flow
const { code } = await discordSdk.commands.authorize({
client_id: YOUR_OAUTH2_CLIENT_ID,
response_type: 'code',
state: '',
prompt: 'none',
scope: ['identify', 'applications.commands'],
});
// Exchange the code for an access_token via your backend
const response = await fetch('/.proxy/api/token', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ code }),
});
const { access_token } = await response.json();
// Authenticate the SDK with the Discord client
const auth = await discordSdk.commands.authenticate({ access_token });
}👉 For a complete starter example, check out the discord-activity-starter.
SDK Development
Want to contribute or patch the SDK? See Local SDK Development Guide to set up your environment.
Legal
This SDK is released under the MIT License. However, your use of it is also governed by the Discord Developer Terms of Service and the Discord Developer Policy.
