This guide explains how to safely validate Gitcord role automation in a Discord server.
- Dry-run phase (no Discord role mutations): In your config, set:
runtime.mode: "dry-run"runtime.enable_discord_role_updates: falsediscord.permissions.write: false
Withenable_discord_role_updates: false,run-oncewill not apply Discord role add/remove even if mode or permissions were mis-set.
- Run a sync:
python -m ghdcbot.cli --config config/my-org-config.yaml run-once
- Review the generated report at
<data_dir>/reports/audit.md. - Verify planned role changes and identity mappings are correct.
- Live phase (apply role updates): Only after review, set:
runtime.mode: "active"runtime.enable_discord_role_updates: truediscord.permissions.write: true
- Run
run-onceagain and confirm expected role changes in Discord.
- Bot has
Manage Roles,View Channels,Send Messages,Embed Links, andRead Message History. - Bot role is above any role it should assign/remove.
- Application has
Server Members Intentenabled in Discord Developer Portal.
- Identity:
/link,/verify-link,/verify,/status,/unlink - Metrics:
/summary,/pr-info - Mentor actions (with configured role):
/request-issue,/assign-issue,/issue-requests,/sync
If slash commands do not appear immediately, wait for command sync and ensure the configured discord.guild_id is correct.