Dashboard →

☕ Overview

Niko is a cozy café-themed Discord bot with a trilingual personality (EN / DE / ES), AI chat powered by OpenAI, a full premium economy system, music via Lavalink, moderation, leveling, giveaways, tickets, social media notifiers, and more. All commands are available as both /slash and !prefix hybrid commands.

55+
Servers
1,342+
Users
76
Slash commands
EN / DE / ES
Languages

🚀 Setup

  1. Add your DISCORD_BOT_TOKEN to environment secrets.
  2. Start the Discord Bot workflow — all cogs and slash commands load automatically.
  3. Invite Niko with the invite link.
  4. Use !levelpanel and !automod to configure per-server settings interactively.

Default prefix: ! — change it per-server with /prefix set.

🥐 Economy

CommandDescriptionType
/balance [user]Premium image wallet card — cash, bank, level, XP bar, rank, daily streak.hybrid
/profile [user]Full profile card with badge showcase and recent transactions.hybrid
/dailyClaim daily treat. Streak multiplier up to ×2.4 (capped at day 7).hybrid
/workWork a shift at your current café job — earns coins + XP.hybrid
/job listBrowse all jobs on the career ladder (barista → café owner).group
/job info <id>Detailed stats for a specific job: pay range, XP, cooldown, level requirement.group
/job apply <id>Apply for a job — must meet the career level requirement.group
/job quitReturn to Barista (default job).group
/crimeAttempt a petty crime for a bonus — 50% base success, fined if caught.hybrid
/rob <user>Try to rob another user's wallet. Rob Shield item blocks you.hybrid
/pay <user> <amount>Transfer coins to another member.hybrid
/shop [category]Browse the boutique — consumables, upgrades, collectibles.hybrid
/buy <item> [count]Purchase an item from the shop.hybrid
/sell <item> [count]Sell an item back for a refund.hybrid
/use <item>Activate a consumable or upgrade item from your bag.hybrid
/inventory [user]View your (or another user's) item bag, grouped by category.hybrid
/bankView your current vault tier, balance, cap and daily interest rate.group
/bank deposit <amount|all>Move cash from wallet into the vault (earns daily interest).group
/bank withdraw <amount|all>Move coins from the vault back to your wallet.group
/bank upgradePay to upgrade vault tier: Tin Jar → Wooden Drawer → Iron Safe → Steel Vault → Diamond Vault.group
/lottery infoShow current pot, draw countdown, and your ticket count.group
/lottery buy <count>Buy lottery tickets. Lucky Charm item doubles your tickets.group
/leaderboardImage card showing the top-10 café rich list.hybrid
/networth [user]Quick net worth summary and rank.hybrid
/transactionsLast 25 economy transactions with timestamps.hybrid

⭐ Leveling

CommandDescriptionType
/level [user]Current XP, level, and rank in this server.hybrid
/level-leaderboardPaginated leaderboard of server XP rankings.hybrid
/levelpanelInteractive CV2 panel: overview, XP settings, announcements, level roles.admin
/levelconfig toggleEnable / disable XP gain for this server.admin
/levelconfig multiplier <n>Set XP multiplier (e.g. 2.0 for double XP events).admin
/levelconfig cooldown <s>Set cooldown in seconds between XP gains per user.admin
/levelconfig levelupchannelSet the channel for level-up announcements.admin
/levelconfig levelrole <level> <role>Award a role automatically when a user reaches a specific level.admin
/levelconfig resetuser <user>Reset a user's XP and level in this server.admin

🎰 Casino

CommandDescriptionType
/blackjack <bet>Visual blackjack with PIL image cards and economy integration.hybrid
/slots <bet>Animated slot machine — 3-reel with multiplier payouts.hybrid
/roulette <bet> <choice>Place a bet on a number, colour, or odd/even.hybrid
/connectfour <user>Play Connect Four against another server member.hybrid
/tictactoe <user>Play Tic-Tac-Toe against another server member.hybrid

🛡️ Moderation

CommandDescriptionType
/kick <user> [reason]Kick a member, logged to the mod channel.admin
/ban <user> [reason]Ban a member permanently.admin
/unban <user_id>Unban a user by ID.admin
/warn <user> <reason>Issue a formal warning.admin
/warnings <user>View all active warnings for a user.admin
/clearwarnings <user>Clear all warnings for a user.admin
/mute <user> [reason]Mute a member indefinitely.admin
/tempmute <user> <duration>Temporarily mute — accepts e.g. 10m, 2h, 1d.admin
/unmute <user>Remove mute from a member.admin
/purge <n>Bulk-delete up to 100 messages.admin
/lock / /unlockLock or unlock the current channel.admin
/slowmode <s>Set slowmode on a channel (0 to disable).admin
/nick <user> <nick>Set a nickname for a member.admin
/setmodlog <channel>Set the mod-log channel for this server.admin
/automodInteractive CV2 dashboard: spam, links, bad words, mass mentions, raid protection, whitelist.admin
/whitelist add/remove user/roleExempt a user or role from all automod checks.admin

🎵 Music

CommandDescriptionType
/play <query|url>Queue a track or playlist from YouTube, Spotify, or direct URL.hybrid
/nowplayingLive progress-bar now-playing card with interactive control buttons.hybrid
/queueView the current queue with track titles and durations.hybrid
/skipSkip the current track.hybrid
/stopStop playback and disconnect from voice.hybrid
/pause / /resumePause or resume the current track.hybrid
/loop <off|track|queue>Set loop mode — off, loop current track, or loop entire queue.hybrid
/shuffleShuffle the current queue.hybrid
/volume <0-100>Adjust playback volume.hybrid

🎉 Giveaways

CommandDescriptionType
/giveaway startInteractive CV2 setup panel — prize, duration, winners, requirements (account age, server age, role, booster).admin
/giveaway end <id>Force-end an active giveaway early.admin
/giveaway reroll <id>Re-roll winners for a completed giveaway.admin
/giveaway listList all active giveaways in this server.hybrid

🎫 Tickets

CommandDescriptionType
/ticket panelPost a persistent "Open Ticket" button in a channel.admin
/ticket config category <cat>Set the category new ticket channels are created in.admin
/ticket config role <role>Set the support role that can see all tickets.admin
/closeClose the current ticket (inside a ticket channel).hybrid
/deleteDelete the current ticket channel permanently.admin

🌸 Community

CommandDescriptionType
/poll <question> <options…>Create a live multi-option poll with real-time vote counts.hybrid
/suggest <text>Submit a suggestion for admin approval or denial.hybrid
/birthday set <MM/DD>Register your birthday for automatic announcements.hybrid
/starboard set <channel> [threshold]Mirror starred messages to a channel once they reach the star threshold.admin
/highlight add <keyword>Get a DM whenever your keyword is mentioned in any channel.hybrid
/tag <name>Display a saved tag (custom text snippet).hybrid
/tag create/edit/deleteManage per-server tag library.admin
/notifier add <platform> <handle> <channel>Subscribe a channel to YouTube, Twitter/X, TikTok, Bluesky, or Reddit updates.admin

🧠 AI & Chat

CommandDescriptionType
@Niko <message>Chat with Niko directly. She remembers conversations and adjusts based on your favorability score.event
/favor [user]Check your current favorability score with Niko.hybrid
/memory [user]View what Niko remembers about a user.admin
/ai-personality <mode>Switch between normal and cafe personality modes.admin
/ai-language <lang>Override the response language (en / de / es).admin
/imagine <prompt>Generate an AI image from a text prompt.hybrid
/translate <text> [target_lang]Translate text to any supported language.hybrid
/define <word>Look up a word's dictionary definition.hybrid

🎮 Fun & Roleplay

CommandDescriptionType
/hug / /pat / /kiss / /boop <user>Anime-gif roleplay actions with café personality captions.hybrid
/memeFetch a random meme from Reddit.hybrid
/cat / /dog / /foxCute random animal photos.hybrid
/uwulock <user>Force a user to speak only in uwu-speak for a set duration.admin
/afk [reason]Set your AFK status — auto-replies when you're mentioned.hybrid
/snipeReveal the last deleted message in a channel.hybrid

🔧 Utility

CommandDescriptionType
/remind <time> <message>Set a personal reminder — Niko DMs you when it's time.hybrid
/serverinfoDisplay server statistics and information.hybrid
/userinfo [user]Display user profile, roles, and join dates.hybrid
/avatar [user]Show a user's full-size avatar.hybrid
/prefix set <prefix>Change the bot's text command prefix for this server.admin

🔐 Dashboard & OAuth Setup

The Niko dashboard lets server admins view economy leaderboards, level data, and configure AutoMod and AI settings through a web UI. Logging in requires a Discord OAuth2 client secret.

EndpointAuth requiredDescription
GET /auth/loginNoRedirects to Discord OAuth2 authorization page.
GET /auth/callbackNoReceives the OAuth code, exchanges it for an access token, and sets the session cookie.
GET /auth/logoutNoClears the session and redirects to the landing page.
GET /auth/statusNoReturns {"authenticated": bool, "oauth_available": bool, "user": {...}}.
GET /api/botstatsNoPublic stats: guild count, user count, command count, economy users.
GET /api/meCurrent Discord user object.
GET /api/guildsServers where the user has Manage Server permission AND Niko is present.
GET /api/guild/:id/overviewEconomy snapshot, level top-5, and moderation summary for a server.
GET /api/guild/:id/economyFull economy leaderboard (top 25 by net worth).
GET /api/guild/:id/levelsLevel leaderboard — PostgreSQL first, JSON fallback.
GET /api/guild/:id/configCombined config: moderation, ai, leveling.
POST /api/guild/:id/config/automodSave AutoMod toggles: antispam, antilink, badwords, massmention, antiraid_ext.
POST /api/guild/:id/config/aiSave AI settings: enabled (bool), personality ("cafe" | "normal").

Enable OAuth login

  1. Go to discord.com/developers/applications and open your bot's application.
  2. Navigate to OAuth2 and copy (or reset) the Client Secret.
  3. In Replit, open the Secrets tab and add a new secret: DISCORD_CLIENT_SECRET = your copied value.
  4. Under OAuth2 → Redirects, add: https://<your-replit-domain>/auth/callback
  5. Restart the Start the website workflow — the login button on /dashboard will now be active.

Session security

Sessions are signed with the SESSION_SECRET Replit secret (already configured). Tokens are stored server-side in the signed cookie only — never exposed to the client. The OAuth state parameter prevents CSRF attacks during the redirect flow.

👑 Admin & System

CommandDescriptionType
/reload <cog>Hot-reload a cog without restarting the bot.admin
/syncRe-sync all slash commands globally.admin
/emojisyncRe-upload and sync all application emojis.admin
/voicemaster setupConfigure voice channel creation hubs.admin
/onboarding setupConfigure the onboarding / verification flow with captcha, rules gate, and role assignment.admin