Contents
Levlix Server Shop Guide
The Levlix Shop module lets server admins offer items purchasable with the server's virtual points currency. Members can browse available items, buy them with their points balance, and view their full purchase history, either from Discord slash commands or straight from the web dashboard.
Where members can shop
There are two equally valid ways to browse and buy:
- In Discord, using the
/shopslash commands documented below. - On the web dashboard, from Server → Shop. Members see the same catalogue their server admins configured, with their current points balance, availability badges, and a full purchase history.
Buying from the dashboard runs through the exact same safety checks as the slash command: available-from dates, expiry, purchase limits, stock, and payment are all enforced server-side. Points deduction and code assignment happen in one database transaction, so a purchase that fails halfway (for example because the code pool ran out at that instant) never costs points: a buyer is never charged for a code they did not receive.
Member Commands
There is one member command:
/shop
It opens the shop dashboard with two tabs:
| Tab | What you can do |
|---|---|
| Shop | Browse every item currently available, with price, remaining stock, and how many more times you may buy it. Pick an item from the menu, confirm, and the purchase runs. |
| History | See what you have bought in this server's shop, with date, price, and the code you received. |
The tab option lets you open the dashboard directly on a tab. Items you have already bought up to the limit, and sold-out items, are not offered.
After a confirmed purchase:
- Levlix checks your current balance and the item's stock.
- The item code is sent to you via Direct Message.
- If your DMs are closed, the code is shown to you in an ephemeral (only-you-can-see) message instead.
- Your points balance is reduced by the item price.
If you do not have enough points, Levlix tells you how many points you need and how many you currently have.
Shopping from the Dashboard
Open Server → Shop on the Levlix Web Dashboard. Members land straight on the store view; server managers see the management view by default and can open the member-facing store by appending ?view=store to the shop URL.
The store page shows:
| Element | What it means |
|---|---|
| Points balance | Your current server points, updated after every purchase. |
| Status badges | Available, Scheduled (unlocks on a future date), Sold Out, or Expired. |
| Purchase button | Disabled when the item is not active, you have reached its purchase limit, or your balance is too low. |
| Purchase history | Every code you ever bought in this server, newest first. |
Revealing a code you bought
To keep purchased codes safe if someone shoulder-surfs your screen, the purchase history only shows the last four characters of each code by default. Click Reveal code on a row to fetch the full value on demand. Every reveal is recorded, so you always have proof of what you claimed and when.
Sold-out and scheduled items
- Sold out items appear greyed out and cannot be purchased. They stay on the page so members can see what has been offered in the past.
- Scheduled items list the date they unlock. The buy button is disabled until
available_fromis reached. - Expired items stay listed with an Expired badge and cannot be purchased.
Admin: Managing the Shop
Admins add, edit, and remove shop items via the Levlix Web Dashboard. Each item has the following configuration options:
| Setting | Description |
|---|---|
| Title | Name displayed to users |
| Price | Cost in server points |
| Codes | Upload the actual codes / values to be distributed |
| Purchase Limit | Maximum number of times one user can buy this item |
| Expiry Date | Optional date after which the item is removed |

Once all codes for an item are sold, the item is automatically marked as sold out and hidden from the shop listing.
Admin slash commands under the /shop-admin group (create, show, admin-list, showcase, expire-check) are also available for quick in-Discord management, but the dashboard is the most comfortable way to work with multiple items at once.
Filter shop items by status
The management page has a status filter (Active, Scheduled, Sold Out, Expired) so you can jump straight to the items that need attention. The status is derived from the same rules the store applies to members, which means the two views can never disagree.
Shop Manager Role
By default, only server admins can manage the shop. If you want to let another role (for example a Community Manager or a dedicated Shop Team) create and edit items, set the Shop Manager Role on the dashboard to moderator or admin. The role hierarchy (user → moderator → admin → owner) determines who sees the management view and who sees the store.
| Setting | Result |
|---|---|
admin (default) |
Only admins and the server owner can manage the shop. |
moderator |
Moderators, admins, and the owner can manage the shop. |
Members below the configured role always land on the store view, even if they happen to open the management URL directly. Managers previewing the store keep the Back to management link so they never lose their way.
Managing User Balances
Server administrators can manually add, remove, or adjust a member's point balance from the Levlix Web Dashboard. Every change is logged in the audit history for full transparency.
Edge cases and safety notes
- Membership check on every dashboard purchase. The store URL is public to anyone with a Levlix account, but only members of the server can actually buy: the buy handler double-checks membership before touching the code pool.
- One code per buyer, always. A brief database lock is taken on the buyer's row while a purchase is in flight, so double-clicking the buy button (or the same person opening two tabs) can never claim two codes off one payment.
- Bot down? Purchases still work. Dashboard purchases publish over Redis so the bot can DM the winner, but the code is delivered inside the dashboard immediately either way. If the bot is offline, the purchase still succeeds and the code is waiting in your purchase history when you refresh.
- Sold-out flip is instant. When the last code of an item is claimed from the dashboard, the item is marked sold out in the same request. No stale "1 left" showing to the next visitor.