Discord Ticket Bot Downtime: What Happens to Open Tickets
An outage costs you the minutes, not the tickets. What keeps working while a Discord ticket bot is offline, what catches up when it returns, what is gone.
Dani, Founder, AI Ticket Bot
9 min read
Every ticket bot goes down at some point. Ours has, and the last ninety days of it are published. The question worth answering is not whether a bot has bad days, because they all do. It is what a bad day actually costs you, and that depends entirely on where the bot keeps things while it is running.
The short version is that it keeps almost nothing. The channel belongs to Discord, every deadline is written down with a time on it, and every button carries enough information to answer a click on a message the bot has never seen. An outage is therefore a gap rather than an event: it leaves nothing behind except the minutes themselves.
What happens to an open ticket when the bot goes offline?
Short answer: the ticket carries on and the bot's contributions stop. Members and staff can still read the channel, type in it, upload files, mention each other and do everything Discord does on its own. What they cannot do is anything that needs the bot to answer, which is the buttons, the slash commands and the AI.
| What | While the bot is offline | When it comes back |
|---|---|---|
| The ticket channel | There, and everyone can still type in it | Unchanged |
| Panel and ticket buttons | A click fails after a few seconds | Work again, nothing to republish |
| Reminders and auto-close | Nothing fires | Overdue ones run, oldest first |
| The transcript | Nothing is recorded | The gap stays a gap |
| The AI | No replies | Answers on the next message |
The button row is worth understanding because it is the part members see. Discord gives a bot roughly three seconds to acknowledge a click. If nothing answers, Discord tells the member the interaction failed and that is the end of it: no half-created ticket, no duplicate, nothing queued up to fire later. Pressing the same button again once the bot is back does exactly what it would have done the first time.
Where the state actually lives
The reason an outage is cheap is structural, and it is the thing to check about any Discord ticket bot you are considering, not just this one. Ask where each piece of a live ticket is stored, and whether that place survives the bot being stopped.
Where each piece of a ticket is kept
- The conversation
- In Discord, in the channel. The bot does not own it
- The ticket record
- In the database, with its status, opener, category and claim
- Deadlines
- Rows with a due time, not countdowns held in memory
- Button state
- Inside the button itself, so a click is self-describing
That last one is the least obvious and it does the most work. A button posted three days ago sits on a message the bot has no memory of after a restart. It still works because the ticket it belongs to is written into the button, so the click arrives already saying which ticket it is about. The same applies to a direct message, which is why a close request can sit unanswered for seven days, and a reminder DM for longer than that, and still do the right thing when somebody finally presses it.
Deadlines work the same way for the same reason. A ticket that should be reminded at half past two has a row saying so. If the bot is not running at half past two, the row does not evaporate, it simply becomes overdue, and overdue rows are the first ones picked up when the bot returns.
What you do lose: the minutes it was not listening
Messages are recorded as they arrive. There is no catch-up pass that reads the channel afterwards, and that is a deliberate choice rather than an oversight, because a bot that re-reads history to fill gaps also re-reads messages that were deliberately deleted.
In practice this matters for one thing: a ticket closed shortly after an outage may have an archive that is missing its middle. If a ticket from that window is one you expect to need later, copy the conversation out of the channel before the channel is deleted. How ticket transcripts work covers what the archive normally holds and how long it is kept.
It is worth saying plainly because most of this article is reassuring and this part is not. An outage does not lose your tickets. It can lose your record of a few minutes inside one.
What happens to reminders and auto-close during an outage
This is where a naive design does real damage. If deadlines are just times, a bot that was off for six hours comes back to a pile of tickets whose close time passed hours ago, and closes all of them at once, silently, on people who were never warned.
That cannot happen here, because closing for silence has a precondition rather than a time.
- Silence starts
- A reminder goes to the member
- A closing warning
- Only then a close
The close is only permitted once the warning has actually been sent, and the wait before the close is measured from the moment that warning really went out rather than from when it was supposed to. So a ticket whose warning and close both came due during the outage does not get closed on the way back. It gets its warning, and then the full warning period on top of it.
There is a second piece of politeness in the same place. When both the early nudge and the closing warning became due while the bot was away, the member gets one message rather than two arriving together, because two identical-looking prompts in the same second read as a broken bot rather than a considerate one. Auto-close settings explains the normal timing, and the direct messages a ticket bot sends covers which of these arrive as a DM.
The catch-up itself is paced. A backlog is worked through oldest first with a cap on how much is done each minute, so a busy server does not get an hour of accumulated notifications delivered as one burst.
When the AI is the part that is down
The AI can fail without the bot failing, and the two are worth telling apart. A member opens a ticket, staff can claim it and reply, the transcript records everything, and the only missing piece is the automatic first answer.
When a turn cannot reach the AI, the ticket says so once and stays open. Three details in that sentence were chosen deliberately:
- The AI is not turned off by it. A temporary fault used to switch the AI off on every ticket it touched, permanently, until a staff member turned it back on in each one by hand. That was the wrong shape for something that fixes itself in minutes, so a fault now leaves the switch alone and the AI answers again on the member's next message.
- The notice is said once. A member typing three messages into an unreachable AI gets one explanation, not three, and it does not repeat for half an hour.
- A ticket the AI never spoke in says nothing. Telling somebody that an assistant they never met is unavailable explains nothing to them, so those tickets open as ordinary staff tickets with no apology attached.
The notice is also recorded in the transcript alongside everything else, which is the small thing that stops a reader six months later from seeing the AI go quiet for no visible reason. What an AI support bot will not do covers the other reasons it stops, most of which are decisions rather than faults.
How to tell whether it is the bot, Discord, or your server
Start with the status page. It is served by the website, which runs separately from the bot, so it keeps answering when the bot does not.
Two honest limits on that page. A check every sixty seconds cannot see a blip that lasted twenty seconds, so short faults you noticed may not appear. And incidents are written up by a person, so the history is as good as our willingness to write down our own bad days, which is why the empty stretches on it are not evidence of anything on their own.
If the status page is green and your server is still quiet, the usual causes are Discord itself, which publishes its own status page, or a permission change on your side. A bot that answers in one channel and not another is almost never an outage. Ticket bot permissions is the faster thing to check first.
Where a hosted ticket bot is the wrong choice
Hosted is fine
- You want somebody else woken up at three in the morning
- Your staff are moderators rather than engineers
- You would rather read an incident report than write one
Run it yourself instead
- You are contractually obliged to control the availability
- An hour of downtime costs you more than a year of hosting would
- You need to audit or modify the code that handles your data
We are hosted only. Our uptime is our problem to fix and yours to live with, and that is a real trade rather than a detail. If you need to be the one who decides when it restarts, open source ticket bots is the honest place to look, and the cost moves from a subscription to your own time and your own bad nights.
The middle ground most servers land on is neither of those. Keep the bot hosted, and make sure the one thing you would genuinely miss, which is usually the written record, is not the thing you are depending on the bot to have captured in the exact minute it was down.
Keep reading
Frequently asked questions
Nothing happens to them. A ticket is an ordinary Discord channel or thread, so it stays exactly where it was and everybody in it can keep typing. What stops is the bot's side of the room: no AI replies, no buttons, no auto-close, and no record of what was said. The ticket is waiting rather than broken, and it picks up where it left off.
Yes, and there is nothing to republish. Every button that has to outlive a restart carries its own ticket number inside it, so the bot can answer a click on a message it has never seen before in this run. That covers the panel a member opens a ticket from, the close and claim buttons inside one, and the buttons on a direct message, some of which are still live a week after they were sent.
No. A close for inactivity is only allowed once a warning has actually been delivered, and the close is then timed from when that warning went out, not from when it was originally planned. So a ticket whose warning and close both came due during an outage gets the warning when the bot returns and the full warning period after it. Nothing is closed in the dark.
No, and this is the one real loss. Messages are recorded as they arrive, and nothing is read back from Discord afterwards, so anything typed while the bot was not listening is missing from the transcript even though it is still visible in the channel. If a ticket was closed and the conversation matters, copy it out of the channel before the channel is deleted.
Check our status page first. It is served by the website, which is a separate service from the bot, and a check runs once a minute and is written down whether it passes or fails. If it says everything is fine and your server is still quiet, the problem is more likely Discord itself or a permission on your side, and Discord publishes its own status page for the first of those.
Yes. The AI is one part of the bot and it can fail on its own. When it does, the ticket posts a short note saying so, stays open, and keeps every human part working: members open tickets, staff claim and reply, transcripts record. The AI is not switched off by the failure either, so it answers again on the next message once it is reachable.
It’s not just an AI, it’s your AI.
See it on your own server.
Add the bot free, teach it a few of your most common answers, and watch it clear the repeat tickets on its own.
Free plan, no card. Your first panel starts 14 days of Premium.
Keep reading.
All articlesHow to Turn the AI Off in a Discord Ticket Bot: Three Switches
The AI's state belongs to the ticket and is fixed the moment it opens. Where each switch lives, which one wins, and what turning it back on does not restore.
9 min read
Discord Ticket Bots on Mobile: What Changes on a Phone
A Discord ticket bot needs no mobile app, because every control it uses is a Discord message. What changes on a phone is distance and notifications.
9 min read
Discord Ticket Bot DMs: Every Message Your Members Can Get
A ticket bot cannot cold message anybody. The six direct messages a ticket opener can receive, what stops them arriving, and what your admins get.
9 min read