AuctionScript
Build your own kind of listing — a Dutch auction, a raffle with a twist, a standing trade — right from your server's dashboard. Nothing to install, and no programming experience needed.
Questions
What the seller fills in when they create one. These turn into the options on the Discord command for you.
Memory
Numbers your listing keeps track of while it runs — the current price of a Dutch auction, for example.
Reactions
What should happen when something occurs — the listing starts, a timer goes off, someone presses a button.
Looks
What members see in the listing message — the price, the details, the buttons.
Auction Bot handles everything else — taking and paying out money, your server's fees, permissions, timing that survives restarts, posting results, and keeping the activity log — exactly as it does for the built-in listing types. Your script only makes the decisions.
A complete example
A Dutch auction — the price starts high and drops on a timer until someone buys — in about 20 lines:
listing "dutch-auction" {
family: auction
name: "Dutch Auction"
ask start-price: money "Price the auction starts at"
ask floor-price: money "Lowest price the auction can reach"
ask drop-amount: money "How much the price drops each time"
ask drop-every: duration "How often the price drops" (at least 30s)
remember price = start-price
when started {
run price-drop every drop-every
}
timer price-drop {
set price = max(floor-price, price - drop-amount)
if price == floor-price then stop timer price-drop
}
when buy pressed {
require user can afford price otherwise "You can't afford {price}."
stop all timers
sell to user for price
}
show {
price is price was start-price
button "Buy Now" does buy (look success)
}
}
Where to write one
In the dashboard, open your server and choose Script Studio → New script. You'll start in Blocks mode: a drag-and-drop builder with a live preview of the message and a panel that tells you what's still missing. Prefer typing? Switch to Text whenever you like. Either way, we check your script as you go and explain any mistakes in plain English, right next to your work.
Choose Test Drive to try it on a pretend listing with a clock you control —
nothing touches your real server, balances, or channels. Choose Publish when
you're happy, and your members get a real /<type> add <name> command
alongside the built-in ones.
The full guide and language reference
This page is a taster, not the whole language. For the full walkthrough — another worked example, troubleshooting, and every keyword — read the Creator Guide and the Language Reference on GitHub. Need something AuctionScript deliberately can't do, like loops or reaching out to the internet? Use the Plugin SDK instead.