Discord Integration Guide
Available in the RollSight desktop app
Discord posting is built in. You configure credentials in Settings → Integrations → Discord, then open the Play session dialog (Session → Set up or Start Session on the play panel), choose the New session tab, set Send rolls to: Discord, then Start. To reuse a saved setup, use the Saved session tab and Continue. Rolls go to Discord only while that session is running.
Avrae and physical dice
Avrae does not expose an API for injecting rolls from outside. RollSight posts next to Avrae in the same channel so your table sees bot automation and physical dice together.
Two ways to post
Pick one mode in RollSight. You can switch later; settings are saved when you click OK on the Settings dialog.
Incoming webhook
- Fastest setup: paste one URL per channel.
- No bot to host or invite; Discord shows the webhook name/avatar on messages.
- Good for a fixed play channel.
Bot token + channel
- Your own application; posts appear as your bot.
- You can add multiple channel IDs (one per line in the extra field) for different games.
- Requires server permission to add the bot and correct channel permissions.
Prerequisites
- RollSight desktop app installed and updated
- A Discord server where you can create webhooks or add a bot
- Developer Mode in Discord if you need to copy IDs: User Settings → App Settings → Advanced → Developer Mode
Option A: Incoming webhook
- Open your Discord server and go to the target text channel.
- Channel menu (Edit Channel) → Integrations → Webhooks → New Webhook (or use an existing one).
- Copy the Webhook URL. Treat it like a password; anyone with the URL can post as that webhook.
- In RollSight: Settings → Integrations → Discord. Enable Send rolls to Discord…, set mode to Webhook, paste the URL, then OK to save.
- Open the Play session dialog: Session → Set up (or Start Session) → New session tab → Send rolls to: Discord → Start. Roll physical dice; messages should appear in that channel.
You can paste additional webhook URLs (one per line) in the extra webhooks field. If you save more than one, the session flow asks which destination should receive rolls. Discord does not tell RollSight which channel you have focused in the client.
Option B: Bot
- At Discord Developer Portal, create an application and add a Bot.
- Under Bot, copy the token and keep it private. Reset it if it leaks.
- Under OAuth2 → URL Generator: scope bot. Permissions: at minimum Send Messages and Embed Links (embeds are optional in RollSight but common). Open the generated URL, pick your server, and authorize.
- Get the channel ID: right-click the channel → Copy Channel ID (Developer Mode on), or paste a channel URL like
https://discord.com/channels/<server>/<channel>. RollSight can parse the IDs from the link. - In RollSight: Settings → Integrations → Discord, enable posting, choose Bot, paste token and channel (and server ID if needed). Save with OK.
- Start the same way as webhooks: Play session dialog → New session tab → Discord → Start.
Security: Never commit tokens or webhook URLs to public repos or stream them on screen. If exposed, rotate the webhook or reset the bot token immediately.
RollSight settings (reference)
Everything lives under Settings → Integrations → Discord (not under a separate “VTT” tab). From there you can:
- Open this guide in your browser via the in-app link or Help → Discord setup guide (web).
- Toggle Send rolls to Discord when you send to the bridge and choose webhook vs bot.
- Optional display name, embed vs plain text, and roll proof / replay options if you use those features.
- Use Test connection to verify credentials without rolling (webhook mode can post a test to each configured URL).
Play session flow
- Saving Settings does not by itself spam Discord. You start a play session when you want bridge + Discord behavior active.
- Session → Set up or Start Session opens the Play session dialog. On the New session tab, pick Discord under Send rolls to: (Foundry and Discord are separate session types, not both at once). Tap Start when you are ready, or use Saved session + Continue to rejoin.
- If multiple webhooks or bot channels are saved, the session UI lets you pick which one is active for that session.
- End the session when you are done so rolls are not sent unintentionally.
Message format
With embed style, RollSight sends a compact summary (formula, dice, total, natural 20 / 1 notes when relevant). With embeds off, the same information is sent as plain text. If roll proof / replay is enabled and a clip URL is available, the message can include a replay link.
Troubleshooting
Nothing posts to Discord
- Confirm a play session is started with Discord selected.
- Confirm the main “send to Discord” checkbox is on in Settings.
- Run Test connection from Settings → Integrations → Discord.
- Webhook: URL must be the full
discord.com/api/webhooks/…link. - Bot: bot is in the server and has Send Messages (and Embed Links if using embeds) in that channel.
Wrong channel or duplicate targets
- With multiple webhooks or channels saved, choose the active target when you create the session.
- Re-copy channel IDs or webhook URLs if you moved channels or regenerated a webhook.
HTTP errors or rate limits
- Discord may briefly rate-limit bots; RollSight retries in some cases. Space out rapid tests.
- 401/403 usually means a bad token, wrong bot invite, or missing channel permissions.
Checklist
- Webhook URL or bot token + channel configured and saved in Settings → Integrations → Discord
- Play session dialog → New session tab → Send rolls to: Discord → Start while you play
- Test connection passes, then roll a die in RollSight