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
- Click Login with Discord in the navbar.
- Pick a server from My Servers. Servers where Nyx isn't yet installed will show an Invite button.
- Authorize Nyx with the suggested permissions (required for all features to work).
- 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.
- User DMs the bot → bot creates a channel in your guild's modmail category
- Staff reply by typing in that channel — messages forward to the user's DMs
!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.
- Create a form: name, description, questions (max 5), review channel
- Optional: required role, blocked roles, cooldown, auto-role on approval/denial, custom accept/deny messages, ping role on submission
- Post the apply button to a channel
- Users click → fill modal → submission appears in review channel with Approve/Deny buttons
- 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} | STAFF→Luna | 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/SECRETenv 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.
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.