Skip to main content

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

1

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.
2

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.
3

Configure Intents

In the Bot section, scroll down to Privileged Gateway Intents and enable:
  • Server Members Intent
  • Message Content Intent
These are required for member caching and command prefix detection.
4

Generate Invite Link

Go to OAuth2 → URL Generator and select:Scopes:
  • bot
  • applications.commands
Bot Permissions:
  • Manage Roles
  • Manage Channels
  • Read Messages/View Channels
  • Send Messages
  • Manage Messages
  • Embed Links
  • Attach Files
  • Read Message History
  • Add Reactions
  • Use Slash Commands
Copy the generated URL and use it to invite the bot to your server.

Installation Methods

Database Setup

Jill Stingray automatically creates all required tables on first startup:
index.js (Lines 87-93)
await init();

loadCommands();
loadEvents();

bot.connect();
The init() function from /utils/db.js creates these tables:
  • guild_settings - Server configuration and admin roles
  • activity - User activity tracking for regulars
  • drinks - Drink order history and statistics
  • custom_roles - User-created custom roles
  • active_mutes - Timed mute management
  • triggers - Custom keyword triggers
  • emojis - Emoji usage statistics
  • dangeru_posts - Anonymous posting system
  • aliases - Username change history
No manual database setup required. The bot handles schema creation automatically.

Verifying Installation

1

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.
Status rotates every 30 seconds.
2

Test Slash Commands

Type / in any channel and verify that Jill Stingray’s commands appear:
  • /help - Command menu
  • /mix - Mix drinks
  • /ping - Connection test
3

Test Basic Command

Run /ping to verify the bot is responding:
🏓 Pong! Latency: 45ms
4

Check Logs

Verify all commands and events loaded successfully:
docker logs jill-stingray
# or
pm2 logs jill-stingray
Look for:
  • [CMD] Loaded /commandname for each command
  • [EVT] Loaded event: eventname for each event
  • ✅ Synced X Global Commands

Troubleshooting

Check Discord Token:
# Verify token is set correctly
echo $DISCORD_TOKEN
Check Logs:
docker logs jill-stingray
Common errors:
  • Error: Incorrect login credentials - Invalid bot token
  • Error: 401 Unauthorized - Token format error
Verify Connection String:
// Format: postgresql://user:password@host:port/database
DATABASE_URL=postgresql://user:pass@localhost:5432/jillbot
Test Connection:
psql $DATABASE_URL -c "SELECT version();"
The bot requires ssl: { rejectUnauthorized: false } for cloud databases.
Wait for Sync: Global commands can take up to 1 hour to propagate. Use guild commands for instant updates:
events/ready.js (Lines 62-63)
await bot.bulkEditGuildCommands(TEST_GUILD_ID, commandData);
Check Permissions: Ensure the bot invite included applications.commands scope.
Install System Dependencies:Canvas requires native libraries:
# Alpine
apk add cairo-dev pango-dev jpeg-dev giflib-dev

# Debian/Ubuntu  
apt-get install libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev
Rebuild after installing dependencies:
npm rebuild @napi-rs/canvas

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

Build docs developers (and LLMs) love