Skip to main content

Quick Setup

Get WizBot operational in your Discord server with these essential steps.
1

Install Dependencies

Clone the repository and install required packages:
git clone <repository-url>
cd wizbot
npm install
This installs discord.js, chrono-node, better-sqlite3, and other dependencies.
2

Configure Bot Credentials

Create a config.json file in the root directory:
{
  "clientId": "YOUR_CLIENT_ID",
  "token": "YOUR_BOT_TOKEN",
  "allowedGuildIds": ["GUILD_ID_1", "GUILD_ID_2"],
  "ownerId": "YOUR_USER_ID"
}
  • allowedGuildIds is optional — leave empty [] to allow all guilds
  • ownerId is optional — enables DM-based performance alerts
Alternative: Environment VariablesInstead of config.json, you can use environment variables:
export DISCORD_CLIENT_ID="YOUR_CLIENT_ID"
export DISCORD_TOKEN="YOUR_BOT_TOKEN"
export DISCORD_ALLOWED_GUILDS="GUILD_ID_1,GUILD_ID_2"
export BOT_OWNER_ID="YOUR_USER_ID"
3

Start the Bot

Launch WizBot:
node bot.js
You should see confirmation that the bot is logged in and commands are registered.
4

Configure Channels

In your Discord server, use /setchannel to designate channels for different signup types:
  • Raid signups — For Dragonspyre, Lemuria, Polaris raids
  • Museum signups — For museum runs
  • Key boss signups — For gold key bosses
  • Challenge mode signups — For challenge dungeons
  • Audit log — For tracking bot actions
WizBot will auto-detect channels named raid-signups, museum-signups, etc. if you don’t configure them manually.
5

Create Your First Raid

Use the /create command to launch the interactive raid creation flow:
  1. Select the raid type (Dragonspyre, Lemuria, Polaris, Museum, etc.)
  2. Set the date and time using natural language: "tomorrow 7pm" or "next Friday 6:30"
  3. Choose raid length (1.5 or 3 hours) if applicable
  4. For Dragonspyre, select strategy (Triple Storm or 2 Myth 1 Storm)
  5. Click Create to post the signup
Users can now react with role emojis to sign up!

Essential Commands

Here are the commands you’ll use most frequently:

For Raid Organizers

/create                    # Interactive raid creation flow
/raid <raid_id>           # Manage existing raid (close, reopen, delete, change time)
/recurring action:create   # Set up automatic recurring raids
/raidsignup action:assign  # Manually assign users to slots

For All Users

/raidinfo action:list      # View upcoming raids
/stats user                # Check your participation stats
/availability set          # Record when you're available
/help                      # View all commands with descriptions

Quick Examples

Creating a Dragonspyre Raid

1. Run /create
2. Select "Dragonspyre (Voracious Void)"
3. Choose "3 hours" for key length
4. Select "triple storm" strategy
5. Enter time: "Saturday 8pm EST"
6. Click Create
WizBot parses the time, creates the signup post with role reaction emojis, and automatically creates a discussion thread.

Setting Up a Weekly Raid

1. Run /recurring action:create
2. Select raid type: "Lemuria (Ghastly Conspiracy)"
3. Set spawn time: 24 hours before raid start
4. Choose pattern: "weekly"
5. Set raid start time: "Every Saturday 8pm"
The raid signup will automatically post every Saturday at 8pm (or 24 hours before, depending on your spawn time configuration).

Checking Participation

/stats user              # Your personal stats
/stats server            # Top participants server-wide
/stats weekly weeks_back:2   # Compare last 2 weeks

Natural Language Time Parsing

WizBot uses chrono-node for flexible time input. All of these work:
  • tomorrow 7pm
  • next Friday 6:30pm
  • Saturday at 8
  • in 3 hours
  • 2024-12-25 19:00
  • Unix timestamp: 1735156800
Set your server’s default timezone with /settings to ensure accurate time parsing for all members.

Reaction-Based Signups

When a raid is posted, users sign up by reacting with the appropriate emoji:
  1. React with your preferred role emoji (e.g., ⚔️ for Vanguard, 🛡️ for Support)
  2. Automatic slot assignment — WizBot adds you to the first available slot
  3. Waitlist handling — If slots are full, you’re added to the waitlist
  4. DM notifications — Get notified when you’re promoted from waitlist
  5. Remove reaction to cancel your signup

Special Features

  • Side assignment (Lemuria) — Use /raidsignup action:side to specify Light/Dark/Flex
  • Team-based signups (Key bosses, Challenge Mode) — React with team numbers 1️⃣ 2️⃣ 3️⃣ 4️⃣
  • Museum auto-lock — Museum signups automatically lock at start time

Next Steps

Installation Guide

Detailed setup instructions, environment variables, and database configuration

Commands Reference

Complete list of all commands with parameters and examples

Configuration

Customize reminder timing, permissions, templates, and server settings

Advanced Features

Recurring raids, availability tracking, polling, and analytics

Getting Help

Use /help in Discord to view interactive command documentation, or check /ping to verify bot health and status.

Build docs developers (and LLMs) love