AUCTION BOT

Plugin SDK

Add your own kind of listing, or plug in your own way of tracking balances. You never have to change Auction Bot itself, and what you build behaves just like the built-in options.

Custom listing type

Write an IListingTypeContributor. You describe the details a seller has to fill in — reusing the same CommonParameters the built-in types use — and Auction Bot builds the slash command, the API request, and the dashboard form for you. Your listing runs alongside the built-in ones, with timers that survive restarts (ctx.Scheduler) and opt-in handling of payment and fees. For what members see, you return a ListingView and Auction Bot draws it.

Custom economy provider

Write an IEconomyProvider to keep balances and transfers wherever you like — your own wallet service, an external ledger, whatever fits. Auction Bot calls it exactly as it calls the built-in one, so nothing else has to change.

Building one

Start from the /create-custom-listing-type skill, or copy the Dutch auction sample — a complete, working listing type built only from the public SDK, with no changes to Auction Bot itself.

Your project only ever references AuctionBot.Plugin.Abstractions. It is kept deliberately small — no database, engine, or Discord libraries — so your plugin never has to know how Auction Bot works inside.

Installing a plugin

If you run your own copy of Auction Bot, publish the plugin project with dotnet publish and copy the output folder into the plugins folder your copy is set up to read. It is picked up, checked for compatibility, and loaded the next time Auction Bot starts — nothing in Auction Bot itself has to change. To add a plugin to Auction Bot itself instead, open a pull request that adds a ProjectReference and an AddPlugins(...) call. Either way, the plugin shows up in this directory as soon as it is running.

Getting listed

If you run your own copy of Auction Bot, your plugin appears in its directory as soon as it loads. To have it listed on someone else's, sign in with Discord on the directory page and send it in for review. Whoever runs that copy decides whether to list it — sending it in doesn't publish it on its own.

The full technical reference

This page is an overview. For the complete details — every interface, the capability flags, the presentation rules, and how compatibility and review work — read the Plugin SDK reference on GitHub, along with the sample plugins .

Something went wrong on this page. Reload the page 🗙