-
-
Notifications
You must be signed in to change notification settings - Fork 283
Quick Start
This page gets Ticket-Bot running with the fewest steps. Use Installation when you need more detail.
Install:
- Git
- Bun 1.0 or newer
Ticket-Bot can also run built output with Node.js 20 or newer, but the documented setup path uses Bun. For Node.js and npm commands, see Installation.
git clone https://github.com/Sayrix/Ticket-Bot.git
cd Ticket-Bot
bun installCreate config/.env:
DISCORD_TOKEN=your_bot_token_here
DB_FILE_NAME=file:.data/ticket-bot.db
TICKETPM_PASSKEY=TICKETPM_PASSKEY is optional unless you want authenticated ticket.pm transcript uploads.
Copy the example config:
cp config/config.example.ts config/config.tsOn Windows PowerShell:
Copy-Item config/config.example.ts config/config.tsEdit config/config.ts and replace every placeholder ID with real Discord IDs:
-
clientId: your Discord application ID. -
guildId: your server ID. -
logs.channelId: the channel for ticket audit logs. -
tickets.staffRoleIds: roles that should manage tickets. -
ticketTypes.*.categoryId: categories where ticket channels should be created. -
panels.*.channelId: channels where the bot should post ticket panels.
In the Discord Developer Portal, create an invite URL with:
- Scope:
bot - Scope:
applications.commands - Permission:
Administratorfor the simplest setup
The current v4 bot only requests the Guilds gateway intent in code for core operations. However, the Message Content intent is required in the Discord Developer Portal if you want to use the transcript features. Without it, transcripts will be empty.
bun run drizzle:pushThis creates or updates the SQLite/libSQL tables used for tickets and panel tracking.
bun run startOn startup, the bot:
- Connects to Discord.
- Deploys slash commands to the configured guild.
- Validates the guild and panel channels.
- Syncs ticket panel messages.
- Applies the configured bot presence.
When the bot is ready, open the configured panel channel and test creating a ticket.