Skip to content
Shiba LogoShibaDocs
Source

Discord setup

This guide is for your installation administrator. For task commands, see Discord.

Create an application in the Discord Developer Portal. Copy its public key and create the bot credentials needed to post updates.

Set the Interactions Endpoint URL to:

https://your-shiba.example.com/api/discord/interactions

The Worker validates Discord’s signed ping before acknowledging it. Ensure your deployment’s access rules let the interaction reach this signature-checked handler.

Set these values through your deployment’s configuration source:

  • DISCORD_PUBLIC_KEY: the application’s public key for request verification.
  • DISCORD_BOT_TOKEN: the bot token used to post progress and outcomes.
  • DISCORD_APPROVERS: comma-separated Discord user IDs allowed to approve work. An empty value allows nobody.
  • DISCORD_CHANNEL_REPOS (optional): a JSON map from channel ID to an HTTPS GitHub repository URL.
  • DISCORD_AGENT_HARNESS (optional): the agent for Discord tasks; otherwise Shiba uses AGENT_HARNESS.

Keep credentials out of task text and webhook URLs. See Configuration for deployment secret handling.

Register the shiba application command with Discord using your chosen application-management tool. It accepts these string options:

Option Required Purpose
task Yes Work to request
repo No HTTPS GitHub repository URL; may be omitted for a mapped channel

Install the app with command access in your test server. Command availability in direct messages also depends on how the application was installed and configured.

Run a small /shiba request. Shiba first acknowledges the interaction, then presents an approval card. A long task may continue in additional messages so the approver can read it in full.

Confirm that only an allowed user can decide, a repeated decision does not start another run, and rejection starts no repository work. Then test a separate approved request and inspect the outcome.

Each channel has its own conversation. Approval buttons decide that channel’s pending request; the dashboard approval list does not aggregate Discord conversations. The bot posts progress and outcomes when it can deliver messages.

For deployment checks, see Readiness.