Docs/Plugins/Games
Games
A per-server economy - earnable currency, casino games, a role shop, and rank-card flair.
Requires the GAMES feature.
A full economy for your server. Members earn a currency you name yourself, gamble it on button-driven casino games, pay each other, and spend it on roles and rank-card cosmetics you put up for sale. Every game runs in a single message that updates in place - no channel spam.
plugins:
games:
currency_name: Doubloons # what your money is called
currency_emoji: "<:gold:1234567890>" # optional custom emote
starting_balance: 100 # seeded on a member's first use
games_channels: [674638268135047186] # empty = games anywhere
daily:
amount: 200 # base daily payout
streak_bonus: 25 # extra per consecutive day
slots: { min_bet: 10, max_bet: 5000 }
blackjack: { enabled: true }
rob: { enabled: false } # off unless you turn it on
shop:
roles:
674638268135047186: { price: 5000, description: Gold name color }
public_leaderboard: true
The dashboard's Setup → Games page edits all of this with pickers and
per-game cards, and saving it is what enables the plugin. Everything has a
sane default - an empty games: {} block is a complete setup.
Currency and earning
Every member has a wallet, checked with balance and topped up by:
daily- once per day (UTC), with a streak bonus that grows every consecutive day and one-time milestone bonuses (days 7, 30, and 100 by default).work- a safe payout on a cooldown (an hour by default).crime- a bigger payout, but with a real chance of being fined instead.rob- steal from another member, with a penalty for getting caught. Off by default; a server has to opt in. Members can buy a shield (shield buy) that blocks one rob attempt each, and servers can also price a permanent shield (shield buy permanent) that blocks every attempt forever. Robbing up the wealth ladder is harder by default: the richer the target is compared to the robber, the lower the odds (every 10x gap cuts them further - turn this off withwealth_scaling: false). You can also list protected roles on the dashboard Games page - members holding one can never be robbed at all, which keeps staff and shop sellers out of the crossfire. For a bit of fun there is also grave robbing (grave_robbing: true, off by default): a heist against someone who has left the server or been banned always succeeds - they are not around to catch anyone. Their wallet still has to meet the minimum balance, and shields still block the attempt.- Level-up rewards - with
level_up_rewardenabled, members earn currency every time they level up (see the Autolevel plugin). fish- a calm collection loop: cast on a cooldown, log every species you have ever caught (17 in the standard pond, junk through mythic), and sell the surplus withfish sell- selling keeps one of every species, so holding a fish IS having collected it.fish sell allsells your collection copies too if you really want the money.fish collectionshows your log.- Expanded pond - flip
fishing.expanded_catalog: true(also on the dashboard Games page) and the catalog grows about five times over, with more species in every tier plus a mythic top end whose catches sell for thousands at truly tiny odds. - The HepTrout Prime - the rarest fish in any pond. Catch one and you earn the global golden-fish HepTrout badge, which shows on your rank card in every server.
- Coin drops - when enabled (off by default), a pouch of currency
occasionally drops in active chat with a single Grab button; first click
keeps it. Configure the amounts, pace, and channels - each listed channel
drops on its own timer with a little added jitter, so multiple channels
never drop in lockstep, and
delete_after_secondscan sweep resolved drop messages out of chat automatically.
pay sends currency to another member. Transfers can carry an optional tax
that is removed from the economy, and an optional per-day send cap - both
useful if your server prints too much money or you worry about alt farming.
richest shows the wealthiest members on an interactive board: page
through with arrows, or flip between all-time balances and who EARNED the
most this week or month.
With happy_hour configured, daily/work/crime payouts multiply during
recurring weekly windows you schedule (in your own timezone) - a reliable
way to concentrate activity.
Games
Eight games, each with its own enable switch, bet limits, and cooldown. Bets
accept plain numbers plus 2k, half, and all. A bet is taken the moment
a game starts and paid back on the result - if the bot ever restarts
mid-game, the stake is refunded automatically.
Cooldowns are short anti-spam gaps (a few seconds by default, tunable per game on the Games page), tracked per member, per game, per server. Playing too soon tells you exactly how long is left, and an early click never resets the timer - the window keeps running from the last real play.
- Slots (
slots <bet>) - a three-reel machine with a fixed, honest paytable that returns about 88% over time. Spin again from a button on the same message. A share of every losing bet feeds a progressive jackpot shown quietly on the machine - triple 💎 wins the whole pot on top of the 200x. - Blackjack (
blackjack <bet>) - hit, stand, or double with buttons. Blackjack pays 3:2, and the dealer has to keep drawing while your hand beats theirs - they catch you or bust trying. Going idle stands automatically. - Coinflip (
coinflip <bet> <heads|tails>) - solo flips pay 1.95x on a win. Name an opponent to challenge them instead: they accept or decline with a button, and the winner takes the whole pot - member duels are zero-sum, the house takes nothing. - Higher or Lower (
highlow <bet>) - guess whether the next card is higher or lower (ties lose). Each correct guess climbs a multiplier ladder up to 4.8x; cash out any time after your first win, or bust and lose it all. - Roulette (
roulette <bet>) - a European single-zero wheel on one board of buttons: red/black, even/odd, and dozens pay 2x and 3x, and the brave can ride the green zero for 36x. Every bet carries the same honest edge. - Dice (
dice <bet> <over|under|seven>) - two six-sided dice against the house. Over (8-12) and under (2-6) pay 2.3x on a 15-in-36 chance; calling exactly seven pays 5.5x on 6-in-36. Roll again from the buttons on the same board - every payout is printed on the buttons themselves. - Horse Race (
horserace <bet>) - back one of six horses and watch the race play out on the board. The favorite pays 3x, the longshot 15x, and every horse carries the same honest edge - longshots just swing harder. Staff can rename the six horses under Setup - Games on the dashboard; names are cosmetic, so each lane keeps its odds and payout no matter what you call it. - Rock Paper Scissors (
rps <bet> <member>) - challenge another member for an equal stake. Your stake is held when you post the challenge, theirs when they accept; then both of you throw in secret, ties replay for the same pot, and the winner takes both stakes. Member-vs-member is zero-sum - the house takes nothing. Walking away without throwing forfeits.
games_channels fences the game commands into specific channels (threads
under an allowed channel count as that channel); earning
and wallet commands work everywhere. Game activity is public - other members
see your daily claims, work shifts, crime runs, catches and fish sell
hauls, the game boards, rob, pay, richest, and server bets, so the
games feel alive in the channel. Personal browsing stays private: balance,
fish collection, the shop and flair browsing and buying, and shields reply
only to you - and so does every error, receipt, cooldown note, and the
"games are only allowed in ..." nudge, so a mistyped command never clutters
the channel.
Server bets
Authorized members (moderators, plus any roles you configure) can open a
prediction pool with bet create Who wins tonight? | Red team | Blue team -
up to 8 options. The bet posts as a live board: members click an option,
type an amount, and the board updates with each side's pool, share, and
what it currently pays. Wagers pool together like a prediction market:
when the bet is resolved (bet resolve <id> <option>), everyone who backed
the winner splits the WHOLE pot in proportion to their stake. You can add
to your wager any time while the bet is open, but never switch sides.
bet lock <id> freezes wagering while the result plays out, and
bet cancel <id> refunds every wager. If nobody backed the winning option,
everyone is refunded too. Resolutions and cancellations land in the mod log
with who did them.
Role shop
Price any of your roles in the config (or on the dashboard) and members buy
them with shop buy. Run shop buy with no role and the bot replies with a
menu of everything actually for sale - each option shows the price and your
description, and picking one starts the same confirmed purchase as naming
the role directly. The bot checks it can actually hand the role out
before any money moves, and refunds automatically if Discord refuses the
role afterwards. The bot can only assign roles below its own highest role.
Rank-card flair
Members can buy decorative frames - gold, neon, ember, frost, royal - that
draw on their rank card in your server. Flair is bought with your server's
currency and only shows in your server. There is also a Pride frame - a
rainbow gradient ring and card border - that stays hidden until you turn it
on: flip its "For sale" switch on the dashboard's Games page and it joins
your shop like any other frame. Browse with flair, buy with
flair buy, and switch with flair set. Run either without a name and the
bot shows a picker menu instead (private to you on slash, and picking from
it completes the purchase in the same message): flair buy lists the frames still for
sale with their prices, flair set lists the frames you own plus a None
option to go back to the classic look. Frames need image rank cards (the
RANK_CARDS feature) to be visible.
You can also design your own frames. On the dashboard's Games page, add up
to 10 custom gradient flairs: give one a name, pick its two colors, and
set a price - it draws as a gradient ring and card border in exactly those
colors. Members buy and equip them like any catalog frame (flair buy by
name), and they list under "This server's own" in flair. Removing a
custom flair from the config stops it drawing for members who bought it;
add it back with the same id and it reappears.
Leaderboards
richest works in Discord with pages and weekly/monthly earned windows.
With public_leaderboard: true, the server also
gets a shareable web page of its richest members at
/leaderboard/<server id>/games - the same opt-in model as the XP
leaderboard. The dashboard's Games page links straight to it, and when both
boards are public the XP and coin leaderboard pages link to each other.
Web API
With the Web API feature, GET /api/v1/guilds/<id>/economy reads the
balance leaderboard and /economy/<user id> reads one member - handy for
your own integrations.
Admin tools
The eco command group grants, takes, sets, and resets balances - all of it
lands in the mod log. eco reset with no member wipes the whole server
after a button confirmation. The dashboard's Games page shows wallet
stats, the richest members, the full activity ledger, a balance adjuster,
and an economy health panel: where currency was minted and burned over the
last week, plus the top transfer recipients - your early-warning view for
inflation and alt farming.
Limits worth setting
max_balance(default 1,000,000,000) - the ceiling a wallet can reach. Credits clamp here, and the excess is burned rather than banked.betting.min_wager/betting.max_wagerandbetting.max_open(default- the stake range on server bets and how many can run at once.
fishing.cooldown_seconds(default 300) - the wait between casts.fishing.expanded_catalog(default false) - the ~5x expanded pond.flair.enabled_items- the opt-in list behind the "For sale" switches;rob.protected_rolesis the key behind protected roles.
Commands
| Command | What it does |
|---|---|
/balance |
Check a wallet balance. |
/pay |
Send some of your currency to another member. |
/daily |
Claim your daily currency (streaks pay extra). |
/work |
Do an honest shift for some currency. |
/crime |
Risky business: bigger payout, real chance of a fine. |
/rob |
Attempt to rob another member. High risk, bad karma. |
/richest |
The richest members of this server. |
/slots |
Spin the slot machine. |
/blackjack |
A hand of blackjack against the house. |
/coinflip |
Flip a coin for currency - solo, or duel another member. |
/highlow |
Higher or lower: climb the multiplier ladder or bust. |
/roulette |
European roulette - pick red, black, dozens, or brave the zero. |
/horserace |
Back a horse and watch the race - longshots pay big. |
/rps |
Rock-paper-scissors duel against another member - winner takes both stakes. |
/dice |
Two dice against the house - over, under, or lucky seven. |
/bet create |
Open a server bet: question | option 1 | option 2 [| more] |
/bet list |
Open server bets. |
/bet lock |
Lock a bet (no new wagers) while the result plays out. |
/bet resolve |
Resolve a bet - winners split the whole pot. |
/bet cancel |
Cancel a bet and refund every wager. |
/fish |
Cast a line - build your collection, sell the haul. |
/fish collection |
Your fishing collection log. |
/fish sell |
Sell your whole haul for currency. |
/shield |
Check your rob shields. |
/shield buy |
Buy a rob shield (blocks one rob attempt). |
/shop |
Browse what your currency can buy here. |
/shop buy |
Buy a role from the shop. |
/flair |
Browse and show off rank-card flair. |
/flair buy |
Buy a rank-card flair frame. |
/flair set |
Equip a flair frame you own (or none). |
/eco give |
Grant currency to a member. |
/eco take |
Take currency from a member (floors at zero). |
/eco set |
Set a member's balance to an exact value. |
/eco reset |
Reset a member (or the whole server) to zero. |