Discord Commands

Discord Commands

Subscord ships a set of slash commands so server owners can run common dashboard tasks directly from Discord. Behind the scenes the bot calls the same Subscord APIs as the web dashboard, so anything done from Discord is reflected in the dashboard immediately and vice versa.

Who can use the commands

There are two layers of access control:

  • Discord permission gate. Every command except /help is registered with the Manage Server permission. Members without that permission won't even see the command in Discord's slash-command menu.
  • Subscord account link. When the command runs, Subscord verifies that the Discord user invoking it has a Subscord account linked and that the linked account has access to the current server in your dashboard. If either check fails, the command replies with an error and does nothing.

If you can manage the server in your Subscord dashboard, you can use these commands. If a teammate runs into a permission error, run /link from their account first to confirm the Discord-to-Subscord link.

All admin command responses are ephemeral (only visible to the person who ran them). The single exception is /store post, which intentionally posts a public message to the channel.

Available Commands

/help

Public command. Returns a link to the Subscord dashboard so members can find documentation or self-serve from there.

Usage: /help

This is the only command that anyone in the server can run.

/link

Checks whether your Discord account is linked to a Subscord account.

Usage: /link

If you're already linked, the bot replies with the linked Subscord account's display name. If you're not, it returns a sign-in URL — open it in a browser, complete the Subscord login flow with the same Discord account, and re-run /link to confirm.

You generally don't need to run /link manually unless an admin command is denying access. Linking happens automatically the first time you sign in to Subscord with Discord.

/store post

Posts a public storefront embed in the current channel. The message includes a welcome header, your store description (from Storefront → Description in the dashboard), and one numbered button per product that links straight to checkout.

Usage: /store post

The bot reads the channel from where you ran the command and posts there. Run it once when you set up the server, and re-run it any time you change products or pricing — the previous message stays put, so feel free to delete the old one.

The buttons follow Subscord's product order from the dashboard. Single-option products link directly to that option's checkout page; multi-option products link to the storefront so the customer can pick a plan there.

/products

Shows an ephemeral list of every active product in this server, with each product's options and prices.

Usage: /products

Useful as a quick lookup before running /grant or to verify what's currently live without leaving Discord.

/extend

Adds days to (or removes days from) every active subscription a given member has in this server. Equivalent to the Bulk Extend action in the dashboard's Subscriptions page.

Usage: /extend user:@member days:30

  • user — the member whose subscriptions you want to extend.
  • days — number of days to add. Use a negative number (e.g. -7) to shorten subscriptions. Range: -3650 to +3650.

If the member has multiple active subscriptions, the bot lists them and asks you to pick one from a select menu before applying the change. The Discord roles tied to the subscription stay assigned for the new expiry period.

/grant

Manually creates a subscription for a member, equivalent to Add Subscription in the dashboard. Useful for fulfilling off-platform sales, granting comp access, or fixing payment edge cases.

Usage: /grant user:@member product:Pro option:Yearly expires:1y

  • user — the member to grant access to.
  • product — product to grant. Auto-completes from your active products.
  • option — pricing option for that product. Auto-completes after a product is selected.
  • expires — when the subscription should end. Accepts:
    • Relative durations: 30d, 6m, 1y (days, months of 30 days, years of 365 days).
    • Absolute ISO dates: 2026-12-31.

The bot creates the subscription, assigns the product's Discord role(s), and (if the member is not in the server) lets Subscord auto-add them on next sign-in — exactly the same flow as a paid purchase. The grant is also recorded in your dashboard so you can audit it later.

/cancel

Permanently deletes a subscription, removes the associated Discord role(s) from the member, and (for Stripe-paid subs) cancels the recurring charge. Equivalent to Delete Subscription in the dashboard.

Usage: /cancel user:@member

  • user — the member whose subscription to cancel.

If the member has multiple active subscriptions, the bot shows a select menu so you can pick which one to cancel. This action is destructive — the subscription record is deleted, not just expired, and roles are revoked immediately.

Errors and troubleshooting

When a command fails, the bot replies with a short ephemeral message describing why. The most common cases:

  • "You don't have access to this server in Subscord." Your Discord account is linked, but the linked Subscord user doesn't have access to manage this server. Either sign in with the right account or have an existing admin grant access in Settings → Team in the dashboard.
  • "Link your Subscord account first." Run /link and follow the sign-in URL it returns.
  • "This member has no active subscriptions." Returned by /extend and /cancel when the target member has nothing to act on. Use /grant if you want to create one.
  • "Something went wrong." A generic fallback for unexpected errors. The error is logged on Subscord's side with the interaction ID; if a command consistently fails, contact support and include the timestamp.

For anything not covered here, the dashboard remains the source of truth and offers more granular controls (per-option edits, transaction history, refunds, etc.).