Skip to content
Scalekit Docs
Talk to an EngineerDashboard

Discord connector

OAuth 2.0CommunicationCollaboration

Connect to Discord. Read user profile, guilds, roles, manage bots, and perform interactions.

Discord connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Register your Discord credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Scalekit environment with the Discord connector so Scalekit handles the OAuth 2.0 (PKCE) flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically.

    1. Create a Discord application

      • Go to the Discord Developer Portal and sign in with your Discord account.

      • Click New Application, enter a name for your app (e.g., My Agent), accept the terms, and click Create.

    2. Set up the OAuth2 redirect URI

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Discord and click Create. Copy the redirect URI shown — it looks like:

        https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback

      • Back in the Discord Developer Portal, open your application and go to OAuth2 in the left sidebar.

      • Under Redirects, click Add Redirect, paste the URI from Scalekit, and click Save Changes.

    3. Copy your credentials

      • On the OAuth2 page, copy the Client ID.

      • Click Reset Secret to generate a Client Secret and copy it immediately. It will not be shown again.

    4. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter the credentials you copied:

        • Client ID

        • Client Secret

        • Scopes — select the scopes your agent needs. Common scopes:

          ScopeWhat it grants
          identifyRead basic user profile (username, avatar, discriminator)
          emailRead the user’s email address
          guildsList the guilds the user belongs to
          guilds.members.readRead the user’s member data within a guild
          connectionsRead third-party accounts linked to the user’s Discord profile
          openidUse Discord as an OpenID Connect provider
          applications.entitlementsRead premium entitlements for your application

      • Click Save.

    5. Configure the bot scope (optional)

      If your agent needs to act as a bot in a server — sending messages, managing channels, or reacting to events — include the bot scope when you request authorization. Discord then asks the installing user to also grant a set of bot permissions.

      • In the Scalekit connection settings, set:

        • Bot Permissions — a bitfield describing what your bot can do in the server. Use the permissions calculator on your application’s Bot page to generate this value, or use the recommended default 2260657982483703 for common read/write access.
        • Pre-selected Guild ID — optional. Pre-fills Discord’s server picker with a specific server ID during authorization.
        • Disable Guild Select — optional. When enabled with a Pre-selected Guild ID, the user cannot pick a different server.
        • Installation Context — optional. Controls whether applications.commands installs to a server or to the authorizing user’s account.

        Discord Bot Permissions page showing General, Text, and Voice permission checkboxes

  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'discord'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Discord:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'discord_get_gateway',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Entitlement consume — For one-time purchase consumable SKUs, mark a given entitlement for the user as consumed
  • Create lobby channel invite for self, or join lobby — Create a single-use guild invite to a lobby’s linked channel, targeted at the calling user
  • Delete current user application role connection, test entitlement — Deletes the application role connection for the current user and the given application
  • Permissions edit application command — Edit the permissions for a specific application command in a guild
  • Get application command permissions, current user application entitlements, current user application role connection — Fetch permissions for a specific application command in a guild
  • Lobby leave, link channel to — Remove the calling user from the specified Discord lobby
Proxy API call
const user = await actions.request({
connectionName: 'discord',
identifier: 'user_123',
path: '/api/users/@me',
method: 'GET',
});
console.log(user);
Execute a tool
const result = await actions.executeTool({
connector: 'discord',
identifier: 'user_123',
toolName: 'discord_get_current_user_application_entitlements',
toolInput: {},
});
console.log(result);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

discord_consume_entitlement#For one-time purchase consumable SKUs, mark a given entitlement for the user as consumed. The entitlement will have consumed: true when listed afterward. This action cannot be undone. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params

For one-time purchase consumable SKUs, mark a given entitlement for the user as consumed. The entitlement will have consumed: true when listed afterward. This action cannot be undone. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application that owns the entitlement.
entitlement_idstringrequiredThe ID of the entitlement to mark as consumed.
discord_create_lobby_channel_invite_for_self#Create a single-use guild invite to a lobby's linked channel, targeted at the calling user. The lobby must have a linked channel and the caller must be a member of the lobby. The invite expires after one hour. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby invite object.1 param

Create a single-use guild invite to a lobby's linked channel, targeted at the calling user. The lobby must have a linked channel and the caller must be a member of the lobby. The invite expires after one hour. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby invite object.

NameTypeRequiredDescription
lobby_idstringrequiredThe ID of the lobby to create a channel invite for.
discord_create_or_join_lobby#Create a new lobby identified by a secret, or join the calling user to the existing lobby with that secret if one already exists. Updates lobby metadata and the calling member's metadata on join. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby object.4 params

Create a new lobby identified by a secret, or join the calling user to the existing lobby with that secret if one already exists. Updates lobby metadata and the calling member's metadata on join. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns a lobby object.

NameTypeRequiredDescription
secretstringrequiredSecret used to identify the lobby. If a lobby for this application already exists with this secret, the caller joins it; otherwise a new lobby is created. Max 250 characters.
idle_timeout_secondsintegeroptionalSeconds to wait before shutting down the lobby after it becomes idle. Between 5 and 604800 (7 days).
lobby_metadataobjectoptionalOptional dictionary of string key/value pairs to set on the lobby. Max total length 1000. Overwrites any existing lobby metadata.
member_metadataobjectoptionalOptional dictionary of string key/value pairs to set on the calling user's lobby member. Max total length 1000.
discord_delete_current_user_application_role_connection#Deletes the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.1 param

Deletes the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application to delete the role connection for.
discord_delete_test_entitlement#Delete a currently-active test entitlement. Discord will act as though that user or guild no longer has entitlement to your premium offering. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params

Delete a currently-active test entitlement. Discord will act as though that user or guild no longer has entitlement to your premium offering. Returns 204 No Content on success. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application that owns the entitlement.
entitlement_idstringrequiredThe ID of the test entitlement to delete.
discord_edit_application_command_permissions#Edit the permissions for a specific application command in a guild. Requires OAuth2 bearer token with applications.commands.permissions.update scope. Returns a guild application command permissions object.4 params

Edit the permissions for a specific application command in a guild. Requires OAuth2 bearer token with applications.commands.permissions.update scope. Returns a guild application command permissions object.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application.
command_idstringrequiredThe ID of the command to edit permissions for.
guild_idstringrequiredThe ID of the guild.
permissionsarrayrequiredArray of application command permission objects specifying who can use the command.
discord_get_application_command_permissions#Fetch permissions for a specific application command in a guild. Returns a guild application command permissions object.3 params

Fetch permissions for a specific application command in a guild. Returns a guild application command permissions object.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application.
command_idstringrequiredThe ID of the command to get permissions for.
guild_idstringrequiredThe ID of the guild.
discord_get_current_user_application_entitlements#Retrieves entitlements for the current user for a given application. Use when you need to check what premium offerings or subscriptions the authenticated user has access to. Requires the applications.entitlements OAuth2 scope.9 params

Retrieves entitlements for the current user for a given application. Use when you need to check what premium offerings or subscriptions the authenticated user has access to. Requires the applications.entitlements OAuth2 scope.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application to retrieve entitlements for.
afterstringoptionalRetrieve entitlements after this entitlement ID (for pagination).
beforestringoptionalRetrieve entitlements before this entitlement ID (for pagination).
exclude_deletedbooleanoptionalWhether to exclude deleted entitlements.
exclude_endedbooleanoptionalWhether to exclude ended entitlements.
guild_idstringoptionalThe ID of the guild to look up entitlements for.
limitintegeroptionalMaximum number of entitlements to return (1–100).
sku_idsstringoptionalComma-delimited list of SKU IDs to check entitlements for.
user_idstringoptionalThe ID of the user to look up entitlements for.
discord_get_current_user_application_role_connection#Returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.1 param

Returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application to get the role connection for.
discord_get_entitlement#Retrieve a single entitlement for an application by ID. Use to check whether a specific entitlement is active, its type, and its expiration window. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params

Retrieve a single entitlement for an application by ID. Use to check whether a specific entitlement is active, its type, and its expiration window. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.entitlements` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application that owns the entitlement.
entitlement_idstringrequiredThe ID of the entitlement to retrieve.
discord_get_gateway#Retrieves a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. Use when you need to connect to the Discord Gateway for real-time events. No authentication required.0 params

Retrieves a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. Use when you need to connect to the Discord Gateway for real-time events. No authentication required.

discord_get_guild_application_command_permissions#Fetch permissions for all commands in a guild. Returns an array of guild application command permissions objects. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.commands.permissions.update` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.2 params

Fetch permissions for all commands in a guild. Returns an array of guild application command permissions objects. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token with the `applications.commands.permissions.update` scope (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application.
guild_idstringrequiredThe ID of the guild.
discord_get_guild_template#Retrieves information about a Discord guild template using its unique template code. Use when you need to get details about a guild template for creating new servers.1 param

Retrieves information about a Discord guild template using its unique template code. Use when you need to get details about a guild template for creating new servers.

NameTypeRequiredDescription
template_codestringrequiredThe unique code of the guild template.
discord_get_guild_widget#Retrieves the guild widget in JSON format. Returns public information about a Discord guild's widget including online member count and invite URL. The widget must be enabled in the guild's server settings.1 param

Retrieves the guild widget in JSON format. Returns public information about a Discord guild's widget including online member count and invite URL. The widget must be enabled in the guild's server settings.

NameTypeRequiredDescription
guild_idstringrequiredThe ID of the Discord guild (server) to retrieve the widget for.
discord_get_guild_widget_png#Retrieves a PNG image widget for a Discord guild. Returns a visual representation of the guild widget that can be embedded on external websites. The widget must be enabled in the guild's server settings.2 params

Retrieves a PNG image widget for a Discord guild. Returns a visual representation of the guild widget that can be embedded on external websites. The widget must be enabled in the guild's server settings.

NameTypeRequiredDescription
guild_idstringrequiredThe ID of the Discord guild (server) to retrieve the widget image for.
stylestringoptionalStyle of the widget image.
discord_get_invite_deprecated#Retrieves information about a specific invite code, including guild and channel details. Use discord_resolve_invite instead, which supports additional query parameters such as guild_scheduled_event_id.3 params

Retrieves information about a specific invite code, including guild and channel details. Use discord_resolve_invite instead, which supports additional query parameters such as guild_scheduled_event_id.

NameTypeRequiredDescription
invite_codestringrequiredThe unique invite code to look up.
guild_scheduled_event_idstringoptionalGuild scheduled event ID to include event details in the response.
with_countsbooleanoptionalWhether to include approximate member and presence counts.
discord_get_lobby_messages#Retrieve the most recent messages in a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns an array of lobby message objects.2 params

Retrieve the most recent messages in a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns an array of lobby message objects.

NameTypeRequiredDescription
lobby_idstringrequiredThe ID of the lobby to retrieve messages from.
limitintegeroptionalMaximum number of messages to return (1-200). Defaults to 50.
discord_get_my_guild_member#Retrieves the guild member object for the currently authenticated user within a specified guild, provided they are a member of that guild. Requires the guilds.members.read OAuth2 scope.1 param

Retrieves the guild member object for the currently authenticated user within a specified guild, provided they are a member of that guild. Requires the guilds.members.read OAuth2 scope.

NameTypeRequiredDescription
guild_idstringrequiredThe ID of the guild to retrieve the current user's member object from.
discord_get_my_oauth2_authorization#Retrieves current OAuth2 authorization details for the application, including app info, granted scopes, token expiration date, and user data (contingent on scopes like 'identify'). Useful for verifying what access the current token has.0 params

Retrieves current OAuth2 authorization details for the application, including app info, granted scopes, token expiration date, and user data (contingent on scopes like 'identify'). Useful for verifying what access the current token has.

discord_get_my_user#Fetches comprehensive profile information for the currently authenticated Discord user, including username, avatar, discriminator, locale, and email if the 'email' OAuth2 scope is granted.0 params

Fetches comprehensive profile information for the currently authenticated Discord user, including username, avatar, discriminator, locale, and email if the 'email' OAuth2 scope is granted.

discord_get_openid_connect_userinfo#Retrieves OpenID Connect compliant user information for the authenticated user. Returns standardized OIDC claims (sub, email, nickname, picture, locale, etc.) following the OpenID Connect specification. Requires an OAuth2 access token with the 'openid' scope; additional fields require 'identify' and 'email' scopes.0 params

Retrieves OpenID Connect compliant user information for the authenticated user. Returns standardized OIDC claims (sub, email, nickname, picture, locale, etc.) following the OpenID Connect specification. Requires an OAuth2 access token with the 'openid' scope; additional fields require 'identify' and 'email' scopes.

discord_get_public_keys#Retrieves Discord OAuth2 public keys (JWKS). Use when you need to verify OAuth2 tokens or access public keys for cryptographic operations such as signature verification.0 params

Retrieves Discord OAuth2 public keys (JWKS). Use when you need to verify OAuth2 tokens or access public keys for cryptographic operations such as signature verification.

discord_get_sku_subscription#Retrieve a single subscription for a SKU by its ID. Returns a subscription object with its status, current billing period, and the entitlements it grants. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.3 params

Retrieve a single subscription for a SKU by its ID. Returns a subscription object with its status, current billing period, and the entitlements it grants. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.

NameTypeRequiredDescription
sku_idstringrequiredThe ID of the SKU the subscription belongs to.
subscription_idstringrequiredThe ID of the subscription to retrieve.
user_idstringoptionalOptional user ID to verify the subscription belongs to.
discord_get_user#Retrieve information about a Discord user. With OAuth Bearer token, use '@me' as user_id to return the authenticated user's information. With a Bot token, you can query any user by their ID. Returns username, avatar, discriminator, locale, premium status, and email (if email scope is granted).1 param

Retrieve information about a Discord user. With OAuth Bearer token, use '@me' as user_id to return the authenticated user's information. With a Bot token, you can query any user by their ID. Returns username, avatar, discriminator, locale, premium status, and email (if email scope is granted).

NameTypeRequiredDescription
user_idstringrequiredThe ID of the user to retrieve. Use '@me' to get the authenticated user's information.
discord_leave_lobby#Remove the calling user from the specified Discord lobby. Safe to call even if the user is no longer a member, but fails if the lobby does not exist. Uses a Bearer token for authorization. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns nothing.1 param

Remove the calling user from the specified Discord lobby. Safe to call even if the user is no longer a member, but fails if the lobby does not exist. Uses a Bearer token for authorization. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. Returns nothing.

NameTypeRequiredDescription
lobby_idstringrequiredThe ID of the lobby to leave.
discord_list_guild_channels#Retrieve all channels in a Discord guild (server). Returns a list of channel objects including text channels, voice channels, categories, and threads. Per Discord's official OpenAPI spec, this endpoint also accepts a plain OAuth2 Bearer token (no specific scope required beyond a valid authorization) in addition to Bot Token — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.1 param

Retrieve all channels in a Discord guild (server). Returns a list of channel objects including text channels, voice channels, categories, and threads. Per Discord's official OpenAPI spec, this endpoint also accepts a plain OAuth2 Bearer token (no specific scope required beyond a valid authorization) in addition to Bot Token — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections.

NameTypeRequiredDescription
guild_idstringrequiredThe ID of the guild to retrieve channels for.
discord_list_my_guilds#Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for each. Primarily used for displaying server lists or verifying guild memberships. Requires the 'guilds' OAuth2 scope.4 params

Lists the current user's guilds, returning partial data (id, name, icon, owner, permissions, features) for each. Primarily used for displaying server lists or verifying guild memberships. Requires the 'guilds' OAuth2 scope.

NameTypeRequiredDescription
afterstringoptionalGet guilds after this guild ID (for pagination).
beforestringoptionalGet guilds before this guild ID (for pagination).
limitintegeroptionalMaximum number of guilds to return (1–200, default 200).
with_countsbooleanoptionalWhether to include approximate member and presence counts for each guild.
discord_list_sku_subscriptions#Retrieve all subscriptions containing a given SKU, filtered by user. Returns a list of subscription objects representing recurring payments for that SKU. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. When called with an OAuth2 token, user_id is optional and defaults to the authorizing user; it is required for Bot Token requests. Supports cursor-based pagination via before/after and limit.5 params

Retrieve all subscriptions containing a given SKU, filtered by user. Returns a list of subscription objects representing recurring payments for that SKU. Per Discord's official OpenAPI spec, this endpoint also accepts an OAuth2 Bearer token (in addition to Bot Token) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. When called with an OAuth2 token, user_id is optional and defaults to the authorizing user; it is required for Bot Token requests. Supports cursor-based pagination via before/after and limit.

NameTypeRequiredDescription
sku_idstringrequiredThe ID of the SKU to list subscriptions for.
afterstringoptionalList subscriptions after this subscription ID (for pagination).
beforestringoptionalList subscriptions before this subscription ID (for pagination).
limitintegeroptionalNumber of results to return (1-100). Defaults to 50.
user_idstringoptionalThe ID of the user to return subscriptions for. Optional for OAuth2 requests (defaults to the authorizing user).
discord_list_sticker_packs#Retrieves all available Discord Nitro sticker packs. Returns official Discord sticker packs including pack name, description, stickers, cover sticker, and banner asset.0 params

Retrieves all available Discord Nitro sticker packs. Returns official Discord sticker packs including pack name, description, stickers, cover sticker, and banner asset.

discord_resolve_invite#Resolves and retrieves information about a Discord invite code, including the associated guild, channel, event, and inviter. Prefer this over the deprecated Get Invite tool for new integrations.3 params

Resolves and retrieves information about a Discord invite code, including the associated guild, channel, event, and inviter. Prefer this over the deprecated Get Invite tool for new integrations.

NameTypeRequiredDescription
invite_codestringrequiredThe unique invite code to resolve.
guild_scheduled_event_idstringoptionalGuild scheduled event ID to include event details in the response.
with_countsbooleanoptionalWhether to include approximate member and presence counts.
discord_retrieve_user_connections#Retrieves a list of the authenticated user's connected third-party accounts on Discord, such as Twitch, YouTube, GitHub, Steam, and others. Requires the 'connections' OAuth2 scope.0 params

Retrieves a list of the authenticated user's connected third-party accounts on Discord, such as Twitch, YouTube, GitHub, Steam, and others. Requires the 'connections' OAuth2 scope.

discord_send_lobby_message#Send a message to a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. If the lobby has a linked channel, the message is also forwarded there; if forwarding fails (for example due to AutoMod), the lobby message is still delivered to other lobby members. Returns the created lobby message object.4 params

Send a message to a Discord lobby. The calling user must be a member of the lobby. Uses a Bearer token with the sdk.social_layer scope. Per Discord's official OpenAPI spec, this endpoint also accepts a Bot Token (in addition to OAuth2) — use this tool for user-authorized OAuth connections, or the equivalent discordbot_* tool for bot-token connections. If the lobby has a linked channel, the message is also forwarded there; if forwarding fails (for example due to AutoMod), the lobby message is still delivered to other lobby members. Returns the created lobby message object.

NameTypeRequiredDescription
contentstringrequiredMessage content. Must be non-empty.
lobby_idstringrequiredThe ID of the lobby to send the message to.
flagsintegeroptionalOptional message flags combined as a bitfield. Only flags creatable by the Social SDK are accepted.
metadataobjectoptionalOptional dictionary of string key/value pairs delivered alongside the message to active clients via the Social SDK. Not persisted on the linked channel message.
discord_update_current_user_application_role_connection#Updates and returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.4 params

Updates and returns the application role connection for the current user and the given application. Requires an OAuth2 access token with the role_connections.write scope for the application specified in the path.

NameTypeRequiredDescription
application_idstringrequiredThe ID of the application to update the role connection for.
metadataobjectoptionalObject mapping application role connection metadata keys to their stringified value (max 100 characters) for the user on the platform a bot has connected.
platform_namestringoptionalThe vanity name of the platform a bot has connected (max 50 characters).
platform_usernamestringoptionalThe username on the platform a bot has connected (max 100 characters).