ModulesEconomy
Server economy
A currency of your server's own, apart from Dexy coins: earned for chat and voice, a daily, transfers, a shop of roles and items, accolades, goals, a treasury.
Next to the global Dexy profile, a server can turn on an economy of its own: a currency with its own name and symbol (Points and ✨ by default), balances per member in that server only, points for chatting and talking in voice, a server daily, transfers between members, a shop of things admins make (roles for good, roles rented for a while, items, accolades, colour roles, titles), crowdfunded goals and a treasury. Dexy coins and the server's currency never convert into each other: a server can tune, give, take or reset its own currency without touching anyone's global profile, and nothing a server does inflates the global game.
It's off until an admin turns it on with d!eco server on. The module has to be on, and earning counts chat and voice through the Stats module. Everything below is per server: a member's balance in one server says nothing about another.
The member commands are the pts group (points works too): d!pts, d!pts top, d!pts daily, d!pts shop, d!pts buy, d!pts give, d!pts inventory, d!pts goals, d!pts donate. The admin commands are d!eco server … (Manage Server). The board and the shop are images with reactions; everything a reaction does is written in the message and can be typed.
The member commands are the /points group (by prefix d!pts …) and the admin commands the /eco-server group (by prefix d!eco server …, Manage Server). The board and the shop are images with buttons and menus; the goals have a Donate menu.
Your balance#
d!pts shows your balance in the server's currency, your rank, what you earned today against the day's cap, your daily streak, your lifetime totals (points earned, messages counted, minutes in voice), the accolades and items you hold here, and how the server pays. d!pts @member shows someone else's.
React 🔄 to draw it again.
How it looks#
On the dashboard (Economy ▸ Currency) a server can make the currency its own:
- Symbol: a standard emoji, or one of the server's own custom emojis, picked from a tray of them. Dexy is in the server, so it can show them there; nothing is uploaded anywhere else.
- Picture: an image (PNG, JPEG, WebP or GIF up to 4 MB, cropped square) shown as the thumbnail of balance and points messages. It isn't an emoji, so it works whatever the server's emoji slots.
- Sent as: Text (no embed, no picture) or Embed (the picture as its thumbnail), the default.
On Discord Sent as has a third type, Components V2: one card, the picture beside its first line. A message already posted keeps the type it was sent as.
Custom is your own Components V2 layout around every points answer, built right there. The builder works as on the Welcome and Reaction roles pages: containers, sections, text, separators, galleries and link buttons, each opened to change it or dragged to a new place, with Discord's limits counted and a starting layout under Templates. Its placeholders are {title} and {text} (the answer itself), {user}, {server}, {server.icon}, {currency}, {symbol} and {currency.icon} (the currency's picture, else the server's icon). Answers with buttons, like the leaderboard's pages, stay the Components V2 card.
Earning#
Members with the module on earn the server's currency for chat and voice here, from the same counters as activity pay (so the Stats module has to be on):
- Messages: 1 to 3 points per counted message by default, and only one message a minute counts, so spam earns no more than talk. Admins can change both (
d!eco server earning message 2 4 30: 2 to 4 points, one message every 30 seconds). - Voice: 1 point a minute by default, only with company (never alone, AFK or deafened: activity pay's rule).
d!eco server earning voice 2changes it; 0 turns it off. - Multipliers: a channel or a whole category can pay more or less (
d!eco server earning channel #events 2doubles #events; 0 pays nothing there; 1 removes it), and so can a role (d!eco server earning role @Boosters 1.5; the best of a member's roles counts). - The day's cap: at most 500 points a day from chat and voice by default (
d!eco server earning cap 1000). It's applied inside the database update itself, so no burst of messages can pass it. - Milestones: a one-off reward when a member's counted messages or minutes in voice here reach a number (
d!eco server earning milestone msgs 1000 500: 500 at a thousand messages). Paid once per member. - Invite rewards: with Invite Tracking, the inviter is paid once an invited member has stayed three days (
d!eco server earning invite 50; 0 turns it off). Nothing for joins that bounce.
Points are paid every 10 minutes, with activity pay. d!eco server earning shows the rules now, and d!pts shows them to members.
The server daily#
d!pts daily pays the server's daily reward once a day (UTC): 100 by default, 10 more for every day in a row, up to 200 (d!eco server earning daily 100 10 200 sets the base, the step and the most; a base of 0 turns it off). Miss a day and the streak starts over. It's separate from the global d!eco daily.
Giving points#
d!pts give @member 50 sends points to another member, when the server allows transfers (on by default). The server can take a tax on every transfer into its treasury (d!eco server transfers on 5: 5 %), or turn transfers off (d!eco server transfers off). A member can send at most ten times the day's earn cap a day, never to bots or themselves.
The board#
d!pts top shows who has the most of the server's currency, ten a page, as an image with your own place.
React ⏮️ ◀️ ▶️ ⏭️ to change page and 🔄 to refresh, or type the page: d!pts top 2.
The shop#
Admins make the shop: d!pts shop shows it as an image with every item under it, its number, price, kind, what's left and what you already hold. An item is one of six kinds:
| Kind | What a member gets |
|---|---|
role | A role, for good (one each). |
rent | A role for a number of days, taken off again by itself when it ends (through the Auto Roles module's temporary roles, so a restart never loses one). Buying it again extends it. |
custom | An item of the server's own (a raffle ticket, a shout-out, a custom emoji slot…), stackable up to a limit; it can carry a role too. |
accolade | A badge on the profile card's server line, usually handed out rather than sold (see Accolades). |
colour | A colour role (one each). |
title | A title on the profile card's server line. |
d!pts shop 2 shows item #2's details; d!pts buy 2 buys it, d!pts buy raffle ticket 3 buys three of a stackable one. Items can have a stock (how many can be sold in all) and a limit per member. Everything a member holds here is in d!pts inventory. Every sale goes into the server's treasury.
On an item's details, react 🏷️ to buy one. The shop image has ◀️ ▶️ for its pages and 🔄 to refresh.
A role item is only delivered when Dexy can give the role (it exists, isn't managed by another integration, and is below Dexy's highest role). When it can't, the purchase is refunded on the spot. d!diag lists shop roles Dexy can't hand out.
Admins add, change and remove items with d!eco server shop add, d!eco server shop edit and d!eco server shop remove (see Admin commands); d!eco server shop lists every item with its sales, hidden ones too.
Accolades and the server line#
An accolade is a badge the server hands out: a shop item of the kind accolade (or title), usually with a price of 0 so it's never sold, given with d!eco server accolade give @member Helper and taken back with d!eco server accolade take @member Helper. d!eco server accolade lists every accolade with its holders.
Both profile cards show a server line while the server economy is on: the member's balance here and up to three accolades or titles they hold. Accolades don't leave the server: the card in another server shows that server's line.
Goals#
A goal is something the whole server funds together: an event, a charity drive, a new emoji slot. Admins add one with d!eco server goal add "Birthday bash" 5000; members see every goal with its progress bar and top donors in d!pts goals, and give with d!pts donate 1 100 (all gives what's left to raise, or all you have). A donation never pushes a goal past its target, even with fifty donors at once; a funded goal takes no more. d!eco server goal close 1 closes one early, d!eco server goal remove 1 removes it (what was raised isn't returned: it was spent on the goal).
A live counter can show a goal: {ecogoal:1} is what goal #1 raised, {ecogoal:1 left} what's still needed and {ecogoal:1 pct} the percent, updated every 30 minutes.
d!counter add 🎯 Birthday bash: {ecogoal:1 pct}% --text
d!counter add 🎯 Birthday bash: {ecogoal:1 pct}% --text
The treasury#
Every shop sale and the transfer tax go into the server's treasury: points that left members' balances and wait for the server to use them. d!eco server treasury shows it; d!eco server treasury pay @member 250 pays a member out of it (a prize), d!eco server treasury add 1000 adds points out of nothing (seed money), d!eco server treasury burn 500 destroys some (a sink).
Admin commands#
Everything needs Manage Server (or a role with Dexy's Change settings permission). Every change is recorded in the audit log, and every balance an admin gives or takes shows in the member's ledger with the admin's ID.
| Command | Does |
|---|---|
d!eco server | The overview: status, currency, earning rules, shop, goals, treasury. |
d!eco server on · d!eco server off | Turn the server economy on or off (balances and the shop are kept). |
d!eco server currency name Gems · d!eco server currency symbol 💎 · d!eco server currency start 100 | The currency's name (up to 24 characters), its symbol (an emoji) and the starting balance a member gets the first time they earn or look. |
d!eco server earning message 1 3 60 · voice 2 · channel #events 2 · role @Boosters 1.5 · daily 100 10 200 · cap 500 · invite 50 · milestone msgs 1000 500 | How members earn (see Earning). |
d!eco server transfers on 5 · d!eco server transfers off | Transfers between members, with a tax percent. |
d!eco server give @member 500 won the quiz · d!eco server take @member 100 · d!eco server set @member 0 | Give, take or set a member's balance, with a note for their ledger. |
d!eco server giverole @Boosters 100 | Give every member with a role some points at once. |
d!eco server reset @member · d!eco server reset confirm | Wipe one member's balance and items here, or everyone's balances, holdings and goals (the settings and the shop stay). |
d!eco server shop add rent "VIP week" 500 @VIP days:7 a week of VIP | Add a shop item: the kind, a name (in quotes when it has spaces), the price, then @role, days:7, stock:5, limit:3, emoji:🎟️ and the blurb, as needed. |
d!eco server shop edit 1 price 750 · d!eco server shop edit 1 enabled off | Change one field of an item: name, price, stock (none for unlimited), limit, role, days, emoji, blurb or enabled. |
d!eco server shop remove 3 | Remove an item (what members hold stays with them). |
d!eco server accolade · d!eco server accolade give @member Helper · d!eco server accolade take @member Helper | The accolades and their holders; hand one out or take it back (a role item's role moves too). |
d!eco server goal add "Birthday bash" 5000 · d!eco server goal close 1 · d!eco server goal remove 1 | Goals. |
d!eco server treasury · d!eco server treasury pay @member 250 · d!eco server treasury add 1000 · d!eco server treasury burn 500 | The treasury. |
d!eco server has two reactions: 🔛 turns the server economy on or off and 🔁 turns transfers on or off. Each press checks Manage Server again.
/eco-server has Turn on / Turn off and Transfers buttons, and links to the shop and the goals.
Limits#
Admins set the earning; these are the caps that hold whatever is typed: 0 to 50 points a message, a message cooldown of 5 seconds to an hour, 0 to 20 a minute in voice, multipliers of 0 to 5 (25 channels and 25 roles), a day's cap of up to 50,000, a daily of up to 5,000, a starting balance of up to 10,000, a transfer tax of up to 50 %, an invite reward of up to 10,000, 10 milestones, 50 shop items at up to 1,000,000 each (stock up to 100,000, a limit of up to 100 each, rentals of 1 to 365 days), 10 goals open at once with targets up to 100,000,000. Every balance change is one guarded database update, and a purchase or a donation is all-or-nothing, so two commands at once can never spend the same points twice.
On the dashboard#
Everything above is on the dashboard too, under Economy, as six pages beside the module's Settings. They need Manage Server or a role with Dexy's Change settings permission, like the commands, and every change lands in the audit log the same way.
- Currency: the switch, the currency's name, symbol and starting balance (with a line showing how a balance will read in chat), transfers and their tax, and at the bottom the reset that wipes every balance, holding and goal while keeping the settings and the shop.
- Earning: what a message and a minute in voice pay, how often a message counts, the day's cap, channel and role multipliers, the server daily and the invite reward. A line under the rules works out a typical day with the numbers you're about to save, so a change can be judged before it goes out. One save bar covers Currency, Earning and the milestones.
- Shop: every item as a row (number, name, kind, price, stock and sales, hidden ones marked), each opening the editor: the fields, the item's line exactly as the shop writes it, the role it carries, who holds it with a hand-out and a take-back, and a remove. When Dexy can't give the role an item carries (a bot's own role, one above Dexy's highest role, a deleted one) the row and the editor say so, since a purchase would be refunded.
- Rewards: the accolades and titles with their holders and a hand-out to a member, new ones in a click, and the milestones.
- Treasury: what the treasury holds, a pay-out to a member, seed money or a burn; and the goals with their bars, donors and top donors, a close and a remove, and a new goal.
- Leaderboard: the board as
d!pts topshows it, ten a page, with a search by name or ID. A member opens with their numbers, what they hold, their last 25 ledger rows, and give, take, set (with a note for their ledger) or wipe.
Privacy#
A member's data deletion removes their balances, holdings and ledger rows in every server's economy, with the rest of their Dexy profile.