Discord Ticket Bot you host yourself
A free, self-hosted support ticket system for Discord, built on Discord.js v14. It runs on SQLite out of the box or on your own MySQL, MariaDB or PostgreSQL. No telemetry, no paywalled basics. It is a plain Discord bot: no game server, no FiveM, no framework, just Node.js and a bot token. Verify to get your API key, run and configure the bot from the dashboard, and keep an eye on the live stats.
Everything in three steps
Verify your account, manage your bot and track its usage.
Verify
Sign in with Discord and select your server. Your personal API key is generated instantly and unlocks the MSK transcript service for your bot.
Get API KeyDashboard
Set up a custom domain for your transcripts and, on Premium, fully manage a hosted bot: start, stop, restart, one-click update and stream live logs.
Open DashboardStats
Browse anonymous live statistics of the MSK Ticket Bot across all servers: hosted transcripts, active API keys, tier distribution and storage usage.
View StatsA full feature set out of the box
Everything a serious support team needs. No add-ons, no paywalled basics.
Ticket Types
Up to 25 configurable types, each with its own emoji, color, category and questions.
Questionnaires
Modal forms with up to 5 questions shown when a ticket is opened.
Claim System
Staff claim and release tickets. Embed, topic and channel name update automatically.
Priorities
Low, Medium, High or Urgent, predefined per ticket type or set live via /priority, reflected in the channel topic and opening embed.
Rating System
1 to 5 star feedback after closing, posted automatically to a channel of your choice.
Auto-Close & Reminders
Close inactive tickets automatically and ping staff after X hours without a reply.
HTML Transcripts
Self-contained HTML with avatars embedded as Base64, no CDN needed, served via a public link.
Canned Responses
Pre-defined snippets sent with one command, with placeholders and autocomplete.
Custom Domain
Premium servers serve transcripts under their own domain with automatic SSL.
Lock & Blacklist
Lock a ticket to mute the user, or blacklist users from opening tickets entirely.
Reopen Tickets
Reopen a closed ticket with one click or /reopen. It restores access and moves the ticket back, so you never have to recreate it.
User Notifications
Users can opt in to a DM when staff first replies, rate-limited to avoid spam.
Broadcast
Send a single message to every open ticket channel at once.
Flexible Database
Runs on SQLite with zero setup, or connect your own MySQL, MariaDB or PostgreSQL, with a migration script to move existing data.
Self-Hosted Dashboard
Optional built-in web dashboard to manage tickets, stats, config and the bot itself from the browser. Disabled by default, secure by default.
Your API key in under a minute
Connect Discord
Link your Discord account and servers.
Select your server
Pick the guild the bot runs on.
Get your API key
Generated instantly, just drop it into .env.
A web dashboard, right in your bot
Start the bot with npm run dashboard and manage everything from the browser instead of over SSH: tickets, statistics, the full config and the bot process itself. It ships with the bot and works on every tier, including the free one. It stays fully optional: npm start keeps running the plain bot with no web server at all.
Secure by default: off until you enable it, bound to localhost so it is never exposed by accident, and it refuses to start on a public interface without HTTPS. Login is Discord OAuth, access is granted per role and per user, and every change is written to an audit log.
Tickets & Stats
Browse and filter tickets, claim, close, reopen, move and reply, with live team statistics.
Config & Locales
Edit config.jsonc, snippets, .env and the language files in a form or raw view with syntax highlighting.
Permissions
Grant dashboard access per role or per user, each with fine-grained rights, backed by an audit log.
Reply as yourself
Answers you send from the dashboard appear in Discord under your own name and avatar, not the bot.
Or let us host it for you
Prefer not to run a server at all? Set hosting up yourself in the dashboard: enter your bot token, client ID and client secret, and we install the bot, start it and check that it really came up. Your bot then gets its own address, and your whole team signs in there with Discord. No SSH access or server knowledge required.
Set up yourself
Three values from the Discord developer portal and one button. No ticket, no waiting.
Stays reversible
Remove hosting whenever you want. We keep the installation for 14 days, so one click brings it back with your tickets intact.
Bot control and live logs
Start, stop, restart and update the bot, and read its output live, which is exactly what you need when it will not come up.
Its own address
The bot dashboard runs on its own address with its own Discord login, so your team gets in too. Bring your own domain if you prefer.
Choose your tier
Host transcripts as public links. Premium tiers come with a 14-day free trial, no credit card required. Cancel anytime, billed monthly afterwards.
Basic
- Transcript hosting & links
- Up to 10 MB per transcript
- File attachments
- Custom domain
- Remove the MSK branding
- 30 days storage
- 30 uploads / hour
- Hosted bot management
Premium
- Transcript hosting & links
- Up to 50 MB per transcript
- Attachments up to 100 MB per ticket
- Custom domain
- Remove the MSK branding
- 180 days storage
- 60 uploads / hour
- Hosted bot management
Premium+
- Transcript hosting & links
- Up to 100 MB per transcript
- Attachments up to 200 MB per ticket
- Custom domain
- Remove the MSK branding
- 365 days storage
- 120 uploads / hour
- Hosted bot management
Business
- Transcript hosting & links
- Up to 200 MB per transcript
- Attachments up to 500 MB per ticket
- Custom domain
- Remove the MSK branding
- 3650 days storage
- 300 uploads / hour
- Hosted bot management
Plans are per guild
A subscription applies to a single Discord server. Each guild you manage has its own plan, upgrade them independently from each guild’s dashboard.
Ready to set up your ticket bot?
Verify your account to grab your API key, it only takes a minute.
Also from MSK Scripts:Discord Giveaway Botfree to invite, restart-safe and multilingual.