Discord Activities Integration

Integrate your Rivet game with Discord Activities.


Procedure

  1. Edit your rivet.yaml to enable tagging:

    matchmaker:
      game_modes:
        default:
          taggable: true
    
  2. 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();
    }
    
  3. 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,
    	},
    });
    
  4. Set up route mapping

    After following the activity tutorial, access the URL mapping for your Discord app and configure it like so:

    Player connection lobby creation
  5. Run activity (read docs here)


Example repo

A fully integrated example can be found here.

Was this page helpful?

Edit Page