Prerequisites
Before installing Jill Stingray, ensure you have:Discord Bot Token
Create a bot application at Discord Developer Portal
PostgreSQL Database
A PostgreSQL instance (local or cloud-hosted)
Node.js 24+
Required for npm installation method
Docker (Optional)
Recommended for production deployments
Creating a Discord Bot
Create Application
Navigate to the Discord Developer Portal and click New Application.Give your bot a name (e.g., “Jill Stingray”) and accept the terms.
Enable Bot User
Go to the Bot section in the left sidebar and click Add Bot.Copy the bot token and save it securely - you’ll need this for the
DISCORD_TOKEN environment variable.Configure Intents
In the Bot section, scroll down to Privileged Gateway Intents and enable:
- Server Members Intent
- Message Content Intent
Generate Invite Link
Go to OAuth2 → URL Generator and select:Scopes:
botapplications.commands
- Manage Roles
- Manage Channels
- Read Messages/View Channels
- Send Messages
- Manage Messages
- Embed Links
- Attach Files
- Read Message History
- Add Reactions
- Use Slash Commands
Installation Methods
- Docker (Recommended)
- npm/Node.js
Docker provides the easiest and most reliable deployment method.Run the container:You should see:
Step 1: Clone Repository
Step 2: Configure Environment
Create a.env file in the project root:.env
See Configuration for detailed information about each environment variable.
Step 3: Build and Run
Build the Docker image:Step 4: Verify Deployment
Check container logs:Database Setup
Jill Stingray automatically creates all required tables on first startup:index.js (Lines 87-93)
init() function from /utils/db.js creates these tables:
guild_settings- Server configuration and admin rolesactivity- User activity tracking for regularsdrinks- Drink order history and statisticscustom_roles- User-created custom rolesactive_mutes- Timed mute managementtriggers- Custom keyword triggersemojis- Emoji usage statisticsdangeru_posts- Anonymous posting systemaliases- Username change history
No manual database setup required. The bot handles schema creation automatically.
Verifying Installation
Check Bot Online Status
The bot should appear online in your Discord server with the status:
- Playing: VA-11 HALL-A OST
- Or: Time to mix drinks and change lives.
Test Slash Commands
Type
/ in any channel and verify that Jill Stingray’s commands appear:/help- Command menu/mix- Mix drinks/ping- Connection test
Troubleshooting
Bot appears offline
Bot appears offline
Check Discord Token:Check Logs:Common errors:
Error: Incorrect login credentials- Invalid bot tokenError: 401 Unauthorized- Token format error
Database connection fails
Database connection fails
Verify Connection String:Test Connection:The bot requires
ssl: { rejectUnauthorized: false } for cloud databases.Slash commands don't appear
Slash commands don't appear
Wait for Sync:
Global commands can take up to 1 hour to propagate. Use guild commands for instant updates:Check Permissions:
Ensure the bot invite included
events/ready.js (Lines 62-63)
applications.commands scope.Canvas/Image errors
Canvas/Image errors
Install System Dependencies:Canvas requires native libraries:Rebuild after installing dependencies:
Next Steps
Configuration
Configure environment variables and API integrations
Server Setup
Set up admin roles and configure server-specific settings
Commands
Browse the complete command reference
Features
Explore drink mixing, Geoguessr, and more