Nyx Documentation

Everything Nyx can do and how to set it up.

Overview

Nyx is an all-in-one Discord bot covering moderation, community engagement, support systems, customization, and automation. Every feature is configurable through the web dashboard — no need to memorize commands.

Each feature has a master toggle in the General tab and its own detailed settings tab. Toggle a feature on, set it up, save, done.

Invite Nyx

  1. Click Login with Discord in the navbar.
  2. Pick a server from My Servers. Servers where Nyx isn't yet installed will show an Invite button.
  3. Authorize Nyx with the suggested permissions (required for all features to work).
  4. Once in your server, open the dashboard for that guild and start configuring.

You need the Manage Server permission on a guild to configure Nyx there.

Dashboard

The dashboard is organized into 5 groups:

  • Moderation: enforcement tools
  • Community: engagement features
  • Support: helping members
  • Customization: tailoring the bot
  • Tools: one-off utilities

The General tab has your master feature toggles and core config (prefix, log channels, mute role).

Commands

Nyx uses prefix commands (default !). Change the prefix in the General tab.

Every feature can be used from Discord OR the dashboard. This page lists the most useful commands per feature.

Moderation

Moderation

Full case system with punishment escalation by warn count. All infractions are logged and searchable.

Commands

  • !warn @user [reason] — issue a warning
  • !mute @user 1h [reason] — temporary mute (uses mute role)
  • !kick @user [reason]
  • !ban @user [reason] · !tempban @user 7d [reason] · !softban @user
  • !purge 50 — delete last 50 messages
  • !lockdown · !slowmode 10s
  • !warnings @user · !case <id> — view history

Dashboard

Set mod log channel, mute role, and punishment thresholds (e.g., at 3 warns → mute, at 5 warns → kick). Thresholds auto-escalate.

Automod

Automatically filter unwanted content. Each filter can be toggled independently.

Filters

  • Invite filter — block Discord invites (optional allow channel)
  • Link filter — with whitelist
  • Word filter — custom blocked word list
  • Caps filter — threshold % of uppercase
  • Mention spam — max mentions per message
  • Channel spam — too many messages too fast

Configure threshold, timeout duration, whether to delete the message, and whether to notify mods.

Anti-Raid

Protect against mass-join raids and suspicious accounts.

  • Join threshold: if N members join within M seconds → auto-lockdown
  • Account age: flag or remove accounts younger than X hours
  • Verification gate: new members must click a button to get access (verified role)

Set a dedicated Anti-Raid log channel for alerts separate from general logging.

Anti-Nuke

Detect compromised admins and stop destructive actions before they cascade. Monitors:

  • Mass channel/role deletions
  • Mass bans/kicks in a short window
  • Webhook spam

Offenders are automatically quarantined (roles stripped) and staff are alerted.

Logging

Full audit trail across separate log channels:

  • Message log: edits, deletes
  • Member log: joins, leaves, nickname changes, role changes
  • Voice log: joins, leaves, moves

Point each log type to a different channel or all to one. Toggle individual event types on/off.

Community

Welcome & Leave

Greet new members and announce departures.

  • Welcome/leave messages with placeholders like {user.mention}, {server.name}, {membercount}
  • Send as plain text or rich embeds with custom colors
  • Optional DM on join
  • Welcome image cards with avatar, custom background, title/subtitle — previewable in the dashboard

Leveling & XP

Members earn XP from messages and voice activity.

  • !rank — show your level card
  • !leaderboard — top 10 in the server
  • Configure XP per message, cooldown between awards, voice XP per minute
  • Ignore specific channels or roles
  • Level-up role rewards
  • Public leaderboard: yourserver.com/leaderboard/<guild_id>

Starboard

Messages that reach a star-reaction threshold get reposted to a highlight channel.

  • Customizable emoji (default ⭐)
  • Threshold count
  • Optional self-star allow

Suggestions

Community-voted improvement ideas.

  • !suggest <idea> — submit
  • !approve <id> [reason] · !deny <id> [reason] · !implement <id>
  • Each suggestion gets 👍/👎 reactions for community voting

Events

Schedule events with automatic reminders and RSVP buttons.

  • Create from dashboard — pick channel, time, reminder window, optional role ping
  • Members click Yes / Maybe / No buttons to RSVP
  • Reminder auto-sent X minutes before start (default 30)
  • Recurring: daily / weekly / monthly — auto-creates the next occurrence
  • !event — list upcoming · !event cancel <id>

Polls

Button-based polls with real-time vote counting.

  • !poll "Question?" option1 option2 ... (up to 10)
  • Optional timer for auto-close

Giveaways

Timed giveaways with reaction entry.

  • !gstart 1h 3w Discord Nitro — 1 hour, 3 winners, "Discord Nitro" prize
  • !gend <id> · !greroll <id>

Temp Voice Channels

Join-to-create voice channels that auto-delete when empty.

  • Set a "creator" voice channel — joining it spawns a new temp channel owned by the joiner
  • Default name template (e.g., {user.name}'s channel) and default user limit
  • The owner can rename, set limits, and manage access

Support

Tickets

Members open private support channels.

  • Configure a category for ticket channels and a support role
  • Users run !ticket <reason> or click a ticket panel button
  • Staff get pinged, help the user, then !close → transcript saved to log channel

Modmail

Users DM Nyx to open a private thread with staff. Messages relay both ways.

  1. User DMs the bot → bot creates a channel in your guild's modmail category
  2. Staff reply by typing in that channel — messages forward to the user's DMs
  3. !close [reason] to close the thread

Configure category, log channel, opening/close messages, and DM-on-close toggle.

Applications

Multi-question form system with button + Discord modal flow.

  1. Create a form: name, description, questions (max 5), review channel
  2. Optional: required role, blocked roles, cooldown, auto-role on approval/denial, custom accept/deny messages, ping role on submission
  3. Post the apply button to a channel
  4. Users click → fill modal → submission appears in review channel with Approve/Deny buttons
  5. Export all submissions as CSV from the dashboard

Bug Reports

Server admins report bugs about Nyx directly to the developer. Submitters get DM updates.

  • !bugreport <description> — requires Manage Server
  • Report goes to the developer's support channel with server context
  • Developer can update status (open / in-progress / closed), set priority, and respond — user is DM'd automatically

Highlights

Get DM'd when specific keywords are mentioned — activity-aware so you're not notified if you're already chatting in the channel.

  • !highlight add <keyword>
  • !highlight remove <keyword> · !highlight list · !highlight clear
  • !highlight block @user · !highlight block #channel — exclude from your notifications

Admins configure: max keywords per user, min keyword length, cooldown between DMs.

Customization

Custom Commands

Create your own commands with text or embed responses. Supports a scripting mini-language.

  • Dashboard or !cc create <name> <response>
  • Cooldowns, required role, allowed channels
  • Scripting: {if cond}...{else}...{endif}, {random:a|b|c}, {math:2+2}
  • See the Scripting and Placeholders sections below

Role Nickname Templates

Auto-modify nicknames based on roles using templates with {nick} as a placeholder.

  • Prefix: [ADMIN] {nick}[ADMIN] Luna
  • Suffix: {nick} | STAFFLuna | STAFF
  • Wrap: ★ {nick} ★★ Luna ★
  • Priority mode: highest wins or stack all
  • Members can opt out: !prefix optout
  • Custom nicknames that don't match any template are preserved

Important: Nyx's role must be above target members' highest roles in your server's role list. Otherwise Discord blocks the change.

Reaction Roles

Self-service role panels with three interaction styles.

  • Reactions — classic emoji reaction
  • Buttons — one click per role
  • Dropdowns — select from a menu
  • Normal mode (multiple picks) or Unique mode (only one role per panel)

Auto-Responder

Trigger-based auto-responses. Match types: exact, contains, starts with, ends with, regex.

  • Respond with text, embed, or reactions
  • Useful for FAQ-style responses, greetings, memes

Auto Roles

Automatically assign one or more roles when a member joins.

External Feeds

Auto-post new content from external sources. Polls every 5 minutes.

  • YouTube: new uploads from a channel (channel ID UC... or @handle)
  • Twitch: live alerts (requires TWITCH_CLIENT_ID/SECRET env vars)
  • Reddit: new posts from a subreddit
  • RSS: any RSS feed URL

Twitch alerts only post on offline→live transitions, not on every poll while live.

Tools

Embed Builder

Compose rich embeds with a live preview, then send to any channel. Save templates for reuse.

Scheduled Messages

One-time or repeating messages at a specific time.

  • Pick channel, content (or embed), first send time
  • Optional repeat interval (hourly, 6h, 12h, daily, weekly, custom)
  • Toggle on/off without deleting

Server Backups

Snapshot your server's structure (roles, categories, channels, permissions).

  • !backup create [description] · !backup list
  • !backup load <id> — non-destructive: recreates alongside existing structure
  • Auto-backups: enable + set interval (hours) + max retention

Backup data is stored in Nyx's database — not publicly accessible.

Sticky Messages

A message that re-posts itself to stay at the bottom of a channel whenever new messages come in. Great for rules, pinned info, or context reminders.

Auto-Purge

Auto-delete messages in specified channels at regular intervals. Useful for bot-command channels or temporary discussion channels.

Timed Roles

Assign a role that auto-removes after a duration. Useful for temporary access, mute escalations, or trial roles.

Server Stats

Auto-updating voice channels showing counts: total members, bots, humans, online, roles, boosts, etc. Configure which stats to show and how often to update.

Invite Tracker

Tracks which invite link each member used to join. Lookup with !invites @user.

Tags

Simple text snippets for FAQ-style quick replies. Less feature-rich than Custom Commands.

  • !tag create <name> <text> · !tag <name>

AFK Status

!afk [message] — set yourself as AFK. Anyone who pings you sees your AFK message. Auto-cleared when you send a message.

Reminders

!remind 2h Do the dishes — the bot will DM (or channel-ping) you after the duration.

Reference

Placeholders

Most text fields (welcome/leave messages, custom command responses, auto-responder replies) support placeholders that get replaced at runtime.

Placeholder Result
{user}Username#0000
{user.mention}@Username (ping)
{user.name}Luna (display name)
{user.id}Discord user ID
{server} / {server.name}Your server name
{server.members} / {membercount}Current member count
{channel} / {channel.name}#channel-name
{args}Arguments passed to the command (custom commands only)

Scripting

Custom commands support a tiny scripting language for dynamic responses.

Conditionals

{if args}You said: {args}{else}Provide an argument.{endif}

Random choice

{random:hello|hi|hey} {user.name}!

Math

{math:2 + 2 * 3}

Comparisons in conditionals

Supports ==, !=, >, <, >=, <=.

{if {user.id} == 123456}Owner only text{endif}

Scripting is sandboxed — no arbitrary code execution, no file access, no network calls. Safe to allow members to create templates.

Still have questions?

Admins can use !bugreport <description> to reach the developer directly.