Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

756 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Niko Banner

🎵 Niko Discord Bot

A cozy, trilingual café-themed companion for your server


Python discord.py OpenAI License Status


🔗 Links

Name Link
Bot Invite Add Niko to your server
Support Server discord.gg/UfDBUGcKqY
GitHub developer51709/Niko
Wiki Page Official Wiki

📋 Overview

Niko is a warm, trilingual (EN / DE / ES) Discord bot with a cozy café personality. He is powered by OpenAI for natural conversation, remembers past interactions per user, and brings a lo-fi aesthetic to any community. With 20+ cog groups and 76 slash commands, Niko covers everything from a premium economy system and Lavalink music to moderation, giveaways, ticketing, social media notifiers, and more — all wrapped in an interactive Components v2 UI.

Current stats: 55 servers · 1,342 users · 76 slash commands


✨ Feature Highlights

🤖 AI & Personality

  • OpenAI-powered chat — mention Niko to start a conversation; he adapts his tone based on your favorability score and past memory
  • Trilingual — responds in English, German, or Spanish; auto-detects language
  • Multi-personalitycafé (warm bestie) and normal modes, configurable per server
  • AI image generation/imagine produces images in-channel
  • AI debugging system — automated error reporting and one-click AI-assisted fixes

💰 Premium Economy

  • PIL image cards — beautiful wallet, reward, and leaderboard cards rendered server-side
  • Job ladder — 8 tiers from Barista → Café Owner, each with unique pay, XP, and cooldowns
  • Tiered bank — 5 vault tiers (Tin Jar → Diamond Vault) with daily compound interest
  • Shop system — consumables (XP boosts, shields), upgrades (vault keys), collectibles
  • Weekly lottery — ticket-based with a rolling jackpot
  • Achievements — 15+ unlockable badges based on milestones and activity
  • Crime & rob — risk-based side income with item defenses
  • Transaction log — full history of every credit and debit

📊 Leveling

  • Per-message XP with configurable multiplier and cooldown
  • Per-guild settings: XP toggle, announcement channel, custom level-up messages
  • Role rewards at configurable thresholds
  • !levelpanel interactive CV2 management panel

🎵 Music

  • Lavalink / wavelink — high-quality, gap-free audio playback
  • YouTube, Spotify, and direct URL support
  • Three-state loop (off / track / queue), queue shuffle, volume control
  • Live now-playing card with progress bar and interactive buttons
  • Last.fm autoplay top-up for endless continuous listening

🛡️ Moderation

  • Full toolkit: kick, ban, mute, tempmute, warn, purge, slowmode, lock
  • AutoMod dashboard — anti-spam, anti-link, bad words, mass mention, external app raid protection
  • Whitelist system to exempt trusted users and roles
  • Mod-log channel with rich event embeds

👥 Community

  • Giveaways — CV2 setup wizard with join requirements (account age, server age, roles, booster)
  • Tickets — persistent per-guild ticket system with category and support-role config
  • Polls — live multi-option polls with real-time vote counts
  • Suggestions — board with admin approve/deny workflow
  • Starboard — auto-mirror starred messages
  • Tags — per-guild custom text snippets
  • Birthdays — daily birthday announcement task
  • Highlights — keyword-based DM notifications
  • Reminders — personal scheduled DM reminders
  • Social notifiers — YouTube, Twitter/X, TikTok, Bluesky, Reddit feed subscriptions

🎰 Casino

Blackjack, Slots, Roulette — all with PIL image cards and full economy integration

⚙️ Admin & Customization

  • Custom triggers — create custom trigger-response pairs per server with a permission-gated settings panel and role menu support
  • Prefix management, emoji sync, onboarding configuration
  • Per-guild configurable settings via interactive CV2 panels

💝 Donations

  • OxaPay integration — accept crypto donations directly through the bot
  • /donate command for supporters

🌐 Website & Dashboard (Under Development)

  • Public landing page with billing toggle (EN/DE)
  • Full command documentation page
  • Dashboard prototype

📂 Project Structure

src/
├── bot.py            # Entry point — loads cogs, syncs slash commands, event loop
├── website.py        # Flask static server for the website
├── cogs/
│   ├── admin/            # Admin tools, prefix management, custom triggers
│   ├── ai/               # AI chat, memory, favorability, image generation
│   ├── automod/          # AutoMod dashboard, raid protection
│   ├── casino/           # Blackjack, Slots, Roulette, mini-games
│   ├── donations/        # Crypto donations via OxaPay
│   ├── economy/          # Balance, jobs, bank, shop, lottery, achievements
│   ├── fun/              # Roleplay, memes, animals, AFK, snipe
│   ├── giveaway/         # CV2 giveaway setup with join requirements
│   ├── help/             # Dynamic help system
│   ├── info/             # Serverinfo, userinfo, avatar
│   ├── legal/            # Legal information and terms
│   ├── leveling/         # XP, levels, leaderboard, level panel
│   ├── logging/          # Event logger (join/leave/edit/delete)
│   ├── moderation/       # Kick, ban, warn, mute, purge, mod-log
│   ├── music/            # Lavalink/wavelink music players
│   ├── notifier/         # Social media feed subscriptions
│   ├── onboarding/       # Verification, captcha, role assignment
│   ├── social/           # Polls, suggestions, starboard, tags, highlights
│   ├── system/           # Error handler, AI debugging reporter
│   ├── tickets/          # Persistent ticket system
│   ├── utility/          # Reminders, birthdays, translate, define
│   └── voicemaster/      # Dynamic voice channel creation
├── utils/                # Shared utility modules
│   ├── ai/               # OpenAI client, memory, config, debugging, actions
│   ├── image/            # PIL economy card renderer
│   ├── onboarding/       # Captcha generation, config, utils
│   ├── social/           # Platform scrapers (YouTube, Twitter, TikTok, Bluesky, Reddit)
│   ├── tickets/          # Ticket config and helpers
│   ├── paginator.py      # Shared PaginatedView for CV2 lists
│   ├── ratelimit.py      # Async rolling-window rate limiters
│   └── blacklist_manager.py
├── config/              # Bot configuration (emojis, AI config, etc.)
├── website/             # Static website served by website.py
│   ├── index.html        # Landing page (EN/DE billing)
│   ├── dashboard.html    # Dashboard prototype
│   ├── docs/index.html   # Full command documentation
│   ├── styles.css        # Shared café dark aesthetic
│   ├── tos.html
│   └── privacy.html
└── data/                # Persistent storage (JSON + SQLite)
    ├── database.db       # Giveaway data (SQLite)
    ├── levels.json
    ├── level_config.json
    ├── mod_config.json
    ├── warnings.json
    ├── ticket_config.json
    ├── reminders.json
    ├── tags.json
    ├── birthdays.json
    ├── highlights.json
    ├── polls.json
    ├── suggestions.json
    ├── starboard.json
    └── economy_data/     # Per-user economy profiles (JSON)

🚀 Setup

  1. Add your DISCORD_BOT_TOKEN to environment secrets
  2. Start the Discord Bot workflow — cogs load automatically, slash commands sync globally on first run
  3. Optionally start the Start the website workflow to serve the landing page
  4. In your server, use !levelpanel and !automod to configure per-guild settings interactively

Requirements: Python 3.10+, discord.py 2.3, wavelink, Flask, Pillow, OpenAI (via any OpenAI compatible API provider)


📜 Commands (summary)

Category Key Commands
Economy /balance /daily /work /job /shop /bank /lottery /pay /crime /rob
Leveling /level /level-leaderboard /levelpanel /levelconfig
Music /play /nowplaying /queue /skip /stop /loop /shuffle /volume
Casino /blackjack /slots /roulette /connectfour /tictactoe
Donations /donate
Moderation /kick /ban /warn /mute /purge /automod /whitelist
Giveaways /giveaway start/end/reroll/list
Tickets /ticket panel/config /close /delete
Community /poll /suggest /starboard /tag /birthday /highlight /notifier
AI & Chat @Niko /favor /memory /imagine /translate /define
Fun /hug /pat /boop /meme /cat /afk /snipe
Utility /remind /serverinfo /userinfo /avatar /prefix
Admin /reload /sync /emojisyng /onboarding /voicemaster /trigger

🎨 UI System

All user-facing responses use discord.ui.LayoutView (Components v2) featuring:

  • Containers with colour accents per context
  • Text displays and section separators
  • Media galleries for image card rendering (economy, casino)
  • Action rows with buttons (music controls, ticket actions, paginator arrows)
  • Paginated views for leaderboards and command lists

Niko — making your Discord server cozier, one cup at a time 🍵

Built by @sorenthedev

About

Niko is a easy to use ai chatbot for discord that includes many different features and commands as well as a modular cog system and regular updates.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages