Discord
Components, roles, channels, permissions, and OAuth2 as they apply to Oxy.
Oxy is a Discord application. This page records the Discord concepts it relies on so that setup failures are easier to diagnose. It is not a full Discord developer guide.
Inviting Oxy uses Discord OAuth2 with the bot and applications.commands scopes. The production invite URL belongs in the Get Oxy button. This site ships a placeholder client_id=YOUR_APPLICATION_ID rather than a real application ID. The OAuth client secret must never be placed in frontend JavaScript.
https://discord.com/oauth2/authorize?client_id=YOUR_APPLICATION_ID&scope=bot%20applications.commandsButtons, select menus, and modals are Discord components. Settings, tickets, reaction role panels, and template confirmation all use them. If a panel looks like a static embed with no controls, the message was copied or the original interaction expired.
Staff ranks, reaction roles, and additional roles are ordinary Discord roles. Oxy can only assign roles below its highest role. Keep the bot role below administrators and above the roles it is expected to manage.
Log channels, suggestion channels, ticket categories, and music voice channels are selected in /settings. Channel overrides can silently block Oxy even when the bot role looks correct.
See Getting Started for a typical permission table. Grant the smallest set that matches the modules you enable. Re-run the invite if you need to add bot permissions that were not in the original OAuth prompt.