Skip to main content

Server currency (Multi-Currency)

Description

User Guide

Create one or more currencies of your own, which members earn by chatting and by spending time in voice, then spend in a shop, a casino or the mini-games. For administrators who want a bespoke economy, with several currencies convertible into one another.

What it does​

  • Creates as many currencies as you want, each with its own name and emoji.
  • Hands out earnings for activity: per message, per time spent in voice, or both.
  • Restricts earnings to certain channels or categories, and sets an earnings limit.
  • Posts interactive panels in Discord: balance, shop, inventory, casino, conversion.
  • Opens a shop per currency (price, stock, expiry date).
  • Offers a simple casino per currency (fixed or free bet, configurable odds, cooldown).
  • Links currencies together with a conversion rate (derived currency → main currency).
  • Displays a leaderboard of the richest members.

Quick start (Admin)​

  1. Create the currency: /monnaie creer id:gold nom:Gold emoji:💰 (the ID must be lowercase, letters and digits only).
  2. Set up the earnings: /monnaie config_gain — choose the method (message, voice, both), the amount, the interval and the character threshold.
  3. Optional: restrict earnings to a few channels with /monnaie restriction.
  4. Stock the shop: /monnaie boutique_objet, or the Shop tab in the dashboard.
  5. Optional: configure the casino with /monnaie casino, and designate a management role with /monnaie staff_role.
  6. Post the panels in a channel: /monnaie panneau type:👤 Panneau Utilisateur for members, and type:🛠 Panneau Staff in a channel reserved for the team.

Commands​

For members​

CommandDescription
/monnaie listeShows every currency configured on the server.
/monnaie classementLeaderboard of the richest members for a currency.
/monnaie conversionsShows the linked currencies and their conversion rate.
/monnaie convertirConverts a derived currency into its main currency.

The balance, the shop, the inventory and the casino do not go through commands: they are used from the buttons on the user panel.

For administrators​

CommandDescription
/monnaie creerCreate a currency (ID, name, emoji).
/monnaie config_gainSet up earnings: method, amount, interval, character threshold, limit.
/monnaie restrictionRestrict earnings to a channel or a category.
/monnaie boutique_objetAdd an item to a currency's shop.
/monnaie casinoConfigure a currency's casino (mode, bet, payout, odds, cooldown).
/monnaie staff_roleDesignate the role allowed to use the staff panel.
/monnaie lierLink a derived currency to a main currency with a rate.
/monnaie panneauPost an interactive panel (user or staff) in a channel.

Settings from the dashboard​

The "Multi-Currency" module offers four tabs:

  • Currencies — creation and full editing of a currency: name, emoji, earning method, amount and interval per message, character threshold, daily limit, amount and interval in voice, allowed channels and categories, casino settings (mode, cooldown, bet, payout, odds as a numerator/denominator) and the conversion link to a main currency.
  • Shop — items for a given currency: name, description, emoji, price, stock (empty = unlimited), expiry date.
  • Balances — the hundred largest balances for a currency, with the ability to adjust a balance member by member (replace a value, or add/remove an amount).
  • Settings — the staff role allowed to use the staff panel's buttons.

Posting the Discord panels remains something you do from Discord with /monnaie panneau: the dashboard does not post a message on your behalf.

Relationship with the shop​

Be careful not to confuse two distinct systems:

  • This module's shop is built in: each currency has its own list of items, purchases happen through the "🛒 Shop" button on the user panel, the price is debited immediately and the item goes into the member's inventory. There is no ticket and no validation.
  • The "ShopDiscord" module is a separate system, with its own currency called "points", its bonus roles, its boosts and a ticket-based validation for every purchase. If that is the behaviour you are looking for, see the ShopDiscord (Shop & Points) page of this documentation.

The two can coexist on the same server, but their balances do not talk to each other. Pick one for your main economy, otherwise your members will no longer know which currency is used for what.

This module's currencies also feed the Activity mini-games and the Challenges & Cards module.

Good to know​

  • The dashboard shows an "Unstable module — under development" warning. Test your settings before launching an economy your members are going to rely on.
  • Without a character threshold, no per-message earnings are paid out. The calculation uses that threshold as a divisor: a message the length of the threshold earns the full amount, a longer message earns proportionally more, a shorter one proportionally less. If the threshold is 0, the earnings are always 0. Put a realistic value in it (20 characters, for example).
  • The "daily limit" is compared against the current balance, not the day's earnings: beyond that value, the member earns nothing more for that currency. It therefore behaves as a balance cap. Leave it at 0 if you want no cap at all.
  • The interval is an anti-spam measure: a member earns at most once per interval (in minutes), per currency. This counter is held in memory and resets if the bot restarts.
  • Voice earnings are checked once a minute. A voice payout only triggers if both the amount and the voice interval are filled in.
  • A currency's ID can no longer be changed after creation (the name and the emoji can). Pick something short and meaningful: it appears in the pickers of every other module.
  • Deleting a currency deletes everything that goes with it: member balances, shop items, casino history. This is irreversible.
  • The casino has to be configured currency by currency, otherwise members get a message asking them to contact an administrator. In "fixed" mode the bet is imposed and mandatory; in "free" mode the player chooses their own amount.
  • Conversion only goes one way: from a derived currency to its main currency. A currency cannot be linked to itself.
  • The staff panel gives access to adding and removing currency. Post it in a closed channel, and only grant the staff role to people you trust: administrators have access anyway.
  • Shop items whose expiry date has passed are deleted automatically (checked every ten minutes).