Dashboard Guide

Master the Lyx dashboard for visual server configuration without memorizing commands.

Accessing the Dashboard

  1. Visit lyx.lol/dashboard
  2. Click Login with Discord
  3. Authorize Lyx to access your account info and server list
  4. Select the server you want to manage
Requirements: You must have Manage Server permission on a server where Lyx is installed. Servers without Lyx or where you lack permissions won't appear.

Server Selector

After login, you'll see all servers where you have Manage Server permission and Lyx is present.

  • Server icon and name
  • Bot status indicator (online/offline)
  • Member count
  • Permission badge — shows if you can configure
  • Search by name for large server lists

Click "Configure" to enter that server's dashboard.

Dashboard Overview

The main dashboard (/dashboard/{guildId}) shows:

  • Server info — icon, name, bot connection status
  • Setup checklist — incomplete configurations with quick links
  • Quick stats — members, recent cases, automod events
  • Quick actions — one-click to common configuration pages
  • Recent activity — latest moderation cases and automod triggers

Use the "Refresh" button to pull latest data from the API.

Moderation Center

Path: /dashboard/{guildId}/moderation

  • Search & Filter — by user, action type, date range
  • Cases table — case ID, action, target, moderator, reason, date
  • Pagination — 25 cases per page
  • Case details — click any row for full drawer with all info
  • Quick actions — New Case button for ban/kick/timeout/warn/purge/lock
  • Export — CSV export of filtered results

Warnings & Cases

Path: /dashboard/{guildId}/warnings

  • Per-user warning list with counts
  • View/remove individual warnings
  • Clear all warnings for a user
  • Issue new warnings with DM option

Auto-Moderation Builder

Path: /dashboard/{guildId}/automod

  • Master toggle — enable/disable all automod
  • Rule cards — one per rule type (spam, links, invites, words, mentions, caps, duplicates)
  • Per-rule config — thresholds, actions, exemptions
  • Enable/disable per rule
  • Action checkboxes — delete, warn, timeout, alert
  • Exemptions — role/channel multi-select
  • Test panel — send test messages to verify rules
  • Recent events — automod trigger history

Welcome/Goodbye Editor

Path: /dashboard/{guildId}/welcome

  • Two-column layout — editor left, live preview right
  • Tabs — Welcome / Goodbye / Autoroles
  • Mode toggle — Plain text / Embed
  • Placeholder chips — click to insert {user}, {server}, etc.
  • Embed builder — title, description, color, fields, images, footer, timestamp
  • Live preview — matches Discord rendering exactly
  • Test send — sends test using your account
  • Templates — quick-start message templates
  • Autoroles — add/remove with delay settings

Logging Configuration

Path: /dashboard/{guildId}/logging

  • Master toggle — enable/disable all logging
  • Log channel selector — with permission validation
  • Event categories — expandable sections with checkboxes
  • Per-event toggles — message edits/deletes, member events, moderation, role/channel changes, nickname, voice, invites
  • Ignored channels/roles — chip-based multi-select
  • Options — include attachments, log bots
  • Test log — sends sample for each enabled category
  • Status indicator — shows config health

Roles & Autoroles

Path: /dashboard/{guildId}/roles

  • Autoroles — add/remove with delay, drag to reorder
  • Roles table — searchable, sortable (name, color, members, position)
  • Role details — click for permissions, members, hierarchy
  • Create role modal — name, color picker, hoist, mentionable, permissions grid
  • Edit role modal — same fields, pre-filled
  • Delete confirmation — shows member count, requires confirmation
  • Bulk operations — add/remove role from all/bots/humans/no-roles with confirmation
  • Hierarchy warnings — visual indicators for roles above Lyx/bot

Embed Builder

Path: /dashboard/{guildId}/embeds

  • Visual editor — all embed fields with live preview
  • Fields — title, description, color, URL, author, fields, thumbnail, image, footer, timestamp
  • Color picker — visual + hex input
  • Field management — add/remove/reorder, inline toggle
  • Template selector — announcement, rules, welcome, giveaway, poll
  • Saved embeds — library of reusable embeds
  • Test send — send to any channel
  • Copy JSON — for API/programmatic use

Server Settings

Path: /dashboard/{guildId}/settings

  • Language/Timezone — affects timestamps, localized responses
  • Default mod reason — pre-fills reason field
  • DM on moderation — toggle DM notifications
  • Module toggles — enable/disable entire feature modules
  • Reset configuration — dangerous action with "TYPE RESET" confirmation
  • Save status — success/error toasts

Account & Sessions

Path: /dashboard/account

  • Profile — Discord avatar, username, ID, account creation date
  • Authorized servers — list with manage links
  • Active sessions — device, IP, location, last active (with revoke)
  • Revoke all sessions — logs out everywhere including current
  • Data export — request copy of your data
  • Delete account — permanent with "TYPE DELETE" confirmation

Mobile Usage

The dashboard is fully responsive:

  • Sidebar → slide-out drawer
  • Tables → horizontal scroll with sticky first column
  • Forms → single column, full-width inputs
  • Modals → full-screen on small screens
  • Touch-friendly — 44px minimum tap targets
  • Swipe gestures — drawer open/close

All functionality available on mobile. Test thoroughly before production changes.

Common Issues

Server not showing in selector

You need "Manage Server" permission AND Lyx installed in that server. Re-invite Lyx or ask admin for permissions.

Settings not saving

Check for error toasts. Verify bot is online. Some settings require bot restart — check dashboard for notices. Clear browser cache.

Dashboard shows old data

Click "Refresh" button. Data cached for 60 seconds. Hard refresh: Ctrl+Shift+R (Cmd+Shift+R on Mac).

Mobile sidebar won't close
  • Tap overlay (darkened area) or hamburger menu again
  • On iOS: check for Safari "Request Desktop Site" being off