Discord Activities Integration
Integrate your Rivet game with Discord Activities.
Procedure
-
Edit your
rivet.yaml
to enable tagging:matchmaker: game_modes: default: taggable: true
-
Set up the Discord SDK (docs):
// Import the SDK import { DiscordSDK } from "@discord/embedded-app-sdk"; // Instantiate the SDK const discordSdk = new DiscordSDK(process.env.DISCORD_CLIENT_ID); setupDiscordSdk().then(() => { console.log("Discord SDK is ready"); }); async function setupDiscordSdk() { await discordSdk.ready(); }
-
Update your Rivet matchmaking code to include tags:
const res = await RIVET.matchmaker.lobbies.find({ // ... tags: { // Discord SDK set up in previous step instanceId: discordSdk.instanceId, }, });
-
Set up route mapping
After following the activity tutorial, access the URL mapping for your Discord app and configure it like so:
The URL used for the "Root Mapping" will be printed in the console when you deploy to Rivet via
rivet deploy
. -
Run activity (read docs here)
Example repo
A fully integrated example can be found here.