Test and go live

Limits and credits

What a Blueprint costs, a server's budget, why a deploy can be refused, and the rate limits.

Credits

Every server has a budget of 150 credits. Live Blueprints share it: a draft or a paused Blueprint costs nothing.

A Blueprint costs the sum of its nodes. A node costs according to the work it gives the bot: how often an Event wakes it up, what an Action asks of Discord.

NodesExamplesCost
Frequent Eventmessage sent, edited or deleted, reaction, voice3
Occasional Eventcommand, button, menu, modal, member joining or leaving, channel or role created1
Heavy Discord Actioncreate or delete a channel or category, bulk-delete messages, direct message2
Simple Discord Actionsend, reply, edit, react, give a role, ban…1
Data and logicVariables, Condition, find a channel or category0

Commands, embeds, buttons, modals and formulas are free, and splitting a behavior into several Blueprints costs nothing extra. Each node's page in the reference gives its cost, and the editor shows it in the palette and at the top of the properties panel.

When it's checked

  • On deploy: if the Blueprint costs more than what the other live Blueprints leave, the deploy is refused. The draft stays saved.
  • On resuming a paused or suspended Blueprint: the same check, since it starts consuming again.

The editor's status bar, at the bottom, shows the open Blueprint's cost; a click shows what's left on the server. The dashboard's sidebar shows the server's usage; a click opens its other limits. The Limits page details them: the credits per live Blueprint, what the rest would let you put online (the cost of each draft and each paused Blueprint), what uses the most waits and space, the executions dropped over the last 30 days and the size of your Blueprints.

Rate limits

The bot is shared by every server: each one has its limits, so none uses up Discord's for the others.

  • 120 calls to Discord a minute per server, 30 at once. Sending a message, giving a role, creating a channel… every request to Discord counts; reading a Variable or checking a Condition doesn't.
  • 600 executions a minute per server.

Past them, an execution isn't queued: it's dropped. The editor's Executions section and the Blueprints list show an alert for each hour it happened. Tests count too.

The bot also has a limit for every server together, set by Tsuaa. During a spike across all servers, a few events can be dropped; commands and buttons go first. These drops show in the same alerts, with their reason: they don't come from your server, and there's nothing for you to fix.

Edited and deleted messages: the bot keeps the last 100 messages of each channel in memory, for 6 hours. A message edited or deleted later arrives without its old content or author.

Loops: when a Blueprint triggers an Event through what it does itself (creating a channel fires "Channel created", which creates another…), the chain stops at the 6th execution. That one shows as an error in Executions.

Suspension: if Discord refuses 100 of a Blueprint's requests in 10 minutes (a missing permission, a deleted channel…), the Blueprint is suspended: it stays deployed but no longer runs, and a member using one of its commands or buttons gets a message saying so. The editor shows the last refusal; fix the cause, then resume it. Discord refusing over and over can block the bot for every server: suspending prevents it.

Waits and scheduled Events: 500 waits at most per server, and 25 scheduled Events online. A wait that resumes while the server is at its rate limit is postponed a few seconds, never dropped.

Blueprint size

A Blueprint holds at most 500 Actions, 20 Events and 25 commands. Past one, deploying is refused; the editor flags it before. An execution lasts 30 seconds at most and visits 200 nodes at most. The Limits page shows your biggest Blueprint against each cap.

Variables

A Variable value is at most 64 KB, and a server's Variables 50 MB in all. A write that would go over takes its node's Failure output. The server's Variables page shows the space used.