Which self-hosted Discord ticket bot should you use?
There are three open-source ticket bots worth knowing and one hosted service almost everyone starts with. They solve the same problem in different ways, and the right answer depends far more on who should hold your ticket data than on the feature list. This page lays out the differences, including the ones that speak against our own bot.
The short answer
You do not want to run a server and your ticket volume is ordinary: use a hosted bot like Ticket Tool. It is the fastest path and costs nothing to start.
You want the largest, most established open-source project and a community to ask: use Discord Tickets. It has by far the most users of the three.
You want your ticket history to stay on your own machine, with transcripts you can hand to a customer as a link: that is what MSK Ticket Bot was built for.
Side by side
Star counts read from the GitHub API on 2026-08-29. Everything else was checked against the projects' own documentation on that day.
| Criterion | MSK Ticket Bot | Discord Tickets | Sayrix Ticket-Bot | Ticket Tool |
|---|---|---|---|---|
| Hosting | Self-hosted | Self-hosted | Self-hosted | Hosted by the vendor |
| Source code | AGPL-3.0 | GPL-3.0 | AGPL-3.0 | Closed |
| GitHub stars | 1 | 1,471 | 502 | n/a |
| Language | JavaScript (Node 24) | JavaScript | TypeScript | n/a |
| Database | SQLite, MySQL/MariaDB or PostgreSQL | SQLite, MySQL or PostgreSQL | SQLite | Vendor side |
| Servers per instance | One | Many | One | Many |
| Transcripts | Self-contained HTML, as a file or a hosted link | HTML and text | HTML | Hosted, on their domain |
| Web dashboard | Built in, optional, 7 languages | Separate paid service | No | Yes |
| Docker | Yes | Yes | No official image | n/a |
| Costs money for | Transcript hosting beyond 30 days, attachments, custom domain | The hosted dashboard | Nothing | Higher limits and branding |
When our bot is the wrong choice
Three cases where we would point you elsewhere. If none of them apply, the bot is probably a good fit.
You run several Discord servers from one instance. Ours registers its commands for a single server, so every server needs its own instance and its own bot application. Discord Tickets handles many servers at once.
You want a large project with many contributors. Discord Tickets has roughly 1,400 more stars than we do and a correspondingly larger community. If a bus-factor of one is a problem for you, that is a real argument, and we are not going to talk you out of it.
You have no server and no interest in getting one. Everything below the hosted plan assumes you can keep a Node process alive. A hosted bot spares you that entirely.
Frequently asked questions
Is MSK Ticket Bot free?
The bot is free and open source under AGPL-3.0, with every feature included. Nothing in it is behind a paywall. What costs money is the optional transcript service on msk-scripts.de: without it, transcripts are still generated and sent as an HTML file, they just have no public link beyond the free 30-day tier.
Do I need a server to run it?
Yes. It needs Node.js 24 and a process that stays alive, so a small VPS, a Raspberry Pi or any always-on machine will do. There is a Docker image and a compose file, which is the simplest route. SQLite is the default, so no database server is required.
Where is the ticket data stored?
On your machine. The bot writes to SQLite by default, or to your own MySQL, MariaDB or PostgreSQL. There is no telemetry. The only data that ever leaves your server is a transcript you upload to the transcript service, and only if you configured an API key.
Can it run several Discord servers at once?
No. Commands are registered for one server id, so one instance serves one server. Running two servers means running two instances with two bot applications. If you need one bot across many servers, Discord Tickets is the better fit.
What is the difference between the free and the paid tiers?
The bot itself does not change. The paid tiers affect the hosted transcripts: Basic keeps them for 30 days with no file attachments, Premium for 180 days with attachments and a custom domain, Premium+ for 365 days, Business for ten years. Premium tiers may also remove the MSK notice from the ticket panel.
Can I remove the MSK branding?
With any active paid subscription, yes. The bot is AGPL-3.0 with one additional term under section 7(b) requiring that the notice stays visible; that term is waived while a subscription runs. On the free tier the notice stays.
Is there a free trial for the paid tiers?
Yes, 14 days for new customers, and it takes no credit card. If no payment method is added, the subscription ends on its own and the server falls back to Basic. Nothing is charged.
Can I move from another ticket bot?
The tickets themselves are Discord channels and stay where they are, so nothing has to be migrated for the bot to take over. Old transcripts of another bot are not imported; they remain wherever that bot put them.
Want to try it?
The bot is free. Verifying your Discord account takes about a minute and gets you an API key for the transcript service.