Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/developer51709/Niko/llms.txt

Use this file to discover all available pages before exploring further.

Niko’s casino cog offers three classic games — Blackjack, Slots, and Roulette — all rendered with rich Discord component cards and wired directly into the economy system. Each game has interactive buttons or dropdowns so everything stays inside a single message.
All casino games share the economy’s coin (🥐) system. Winnings and losses are applied directly to your wallet balance. Make sure the EconomyCog is loaded before starting any casino game.

Blackjack

Standard casino Blackjack against a dealer, played from a persistent 6-deck shoe.
CommandDescription
/blackjackShow available Blackjack subcommands.
/blackjack play <amount>Start a game of Blackjack with the specified bet.
/blackjack tutorialRead a paginated 6-page tutorial covering rules, card values, and strategies.

How It Works

  1. Place your bet with /blackjack play <amount>.
  2. The bot deals two cards to you and two to the dealer (one dealer card is hidden).
  3. Use the interactive buttons to play your hand.
  4. The dealer reveals their hole card and plays by fixed rules (hits until hard 17+, hits on soft 17).
  5. The round settles automatically and your balance is updated.

Buttons

ButtonAction
HitDraw another card.
StandEnd your turn and let the dealer play.
DoubleDouble your bet and receive exactly one more card (available on first two cards only).
SplitSplit two same-rank cards into two separate hands (up to two splits per round).
Take Insurance / DeclineOffered when the dealer’s up-card is an Ace. Insurance pays 2:1 if dealer has Blackjack.

Payouts

OutcomePayout
Win (standard)1:1 (bet returned + equal winnings)
Natural Blackjack (Ace + 10-value)3:2 (e.g. 100 🥐 bet → +150 🥐)
Push (tie)Bet returned, no gain or loss
Bust / Dealer winsBet lost
Insurance win2:1 on the insurance side-bet
The game uses a 6-deck persistent shoe stored in blackjack_shoe.json. The shoe reshuffles automatically when fewer than 20 cards remain. Cooldown: Controlled by the BLACKJACK_COOLDOWN environment variable (default: 60 seconds).

Slots

A 3×3 slot machine with weighted symbols, multiple paylines, and a spin animation.
CommandDescription
/slotsShow available Slots subcommands.
/slots play <amount>Spin the slot machine with the specified bet.
/slots payoutsView the full payout table and active paylines.

How It Works

  1. Place your bet with /slots play <amount>.
  2. The machine plays a short 3-frame spin animation before revealing the final 3×3 grid.
  3. All matching paylines are evaluated and payouts are summed. If no line matches you lose the bet.

Symbol Tiers & Payouts

Symbols are drawn from a weighted pool. Rarer symbols appear less frequently.
TierSymbolsMatching Line Multiplier
Common🍒 🍋 🍊 bet
Uncommon🍇 🍉 🍓 bet
Rare🍀 💎 bet
Jackpot25× bet
Full Board JackpotAll 9 cells identical100× bet

Active Paylines

Payouts are evaluated across five paylines simultaneously:
  • Middle row (row 2)
  • Top row (row 1)
  • Bottom row (row 3)
  • Diagonal ↘ (top-left → bottom-right)
  • Diagonal ↙ (top-right → bottom-left)
Multiple paylines can hit on the same spin — all are summed together. Cooldown: Controlled by the SLOTS_COOLDOWN environment variable (default: 60 seconds).

Roulette

Interactive European Roulette (single zero, 37 pockets) with a fully button-driven betting flow.
CommandDescription
/rouletteStart an interactive roulette session.

How It Works

The /roulette command walks you through a multi-step interactive flow entirely within one message:
  1. Choose bet category — Red/Black, Odd/Even, High/Low, Dozens, Columns, or Inside Bets.
  2. Choose your specific bet — e.g. pick Red, or select an inside bet type (Straight, Split, Street, Corner, Line).
  3. Pick a chip amount — 10, 50, 100, or 500 🥐.
  4. Spin — the wheel lands on a number from the European wheel (0–36).
  5. Result — win/loss is calculated, your balance updated, and a Spin Again button is offered.

Payout Table

Bet TypeCoveragePayout
Red / Black18 numbers1:1
Odd / Even18 numbers1:1
Low (1–18) / High (19–36)18 numbers1:1
1st Dozen (1–12)12 numbers2:1
2nd Dozen (13–24)12 numbers2:1
3rd Dozen (25–36)12 numbers2:1
Column 1 / 2 / 312 numbers2:1
Line (6 numbers)6 numbers4:1
Corner (4 numbers)4 numbers7:1
Street (3 numbers)3 numbers10:1
Split (2 numbers)2 numbers16:1
Straight (single number)1 number34:1
Niko uses a European wheel (single zero). Landing on 0 means all outside bets (Red/Black, Odd/Even, High/Low, Dozens, Columns) lose. Inside bets covering 0 still pay out normally.
Cooldown: 60 seconds, hardcoded as ROULETTE_COOLDOWN = 60 in roulette.py. This value is not read from an environment variable and must be changed directly in the source file.

Cooldown Configuration

Blackjack and Slots cooldowns are configured via environment variables in your .env file and default to 60 seconds if the variable is absent. Roulette’s cooldown is hardcoded in roulette.py and must be changed there.
SLOTS_COOLDOWN="60"
BLACKJACK_COOLDOWN="60"
To set a 2-minute cooldown for slots, for example:
SLOTS_COOLDOWN="120"
Longer cooldowns slow down coin flow from casino wins, helping keep the server economy balanced. If your server has high activity, consider setting cooldowns to 120–300 seconds to prevent runaway wealth accumulation.

Connect Four & Tictactoe

Two multiplayer mini-games for head-to-head competition. Neither game has a coin wager — they are purely for fun and bragging rights. Both commands live in the Fun cog and are prefix-only (not slash commands).
CommandAliasesDescription
connectfour <opponent>connect4, c4Challenge another server member to a Connect Four match. Use the interactive column buttons to drop your piece. First player to connect 4 in a row (horizontally, vertically, or diagonally) wins.
tictactoe [member]tttChallenge another server member to Tic-Tac-Toe. An interactive 3×3 button grid is displayed; players alternate turns until someone wins or the board fills.
Both games are limited to the two participants — only the challenged players can interact with the buttons.

Build docs developers (and LLMs) love