Niko:基于 OpenAI 的三语 Discord 咖啡馆风格机器人
developer51709/Niko
Niko 是一款支持英语、德语、西班牙语的三语 Discord 机器人,由 OpenAI 驱动对话,能按用户记忆过往互动,并带有 lo-fi 咖啡馆风格。它包含 20+ cog 分组和 76 个斜杠命令,覆盖经济系统、Lavalink 音乐、审核、抽奖、工单、社交媒体通知等,并配有交互式 Components v2 UI。
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.
Blackjack, Slots, Roulette — all with PIL image cards and full economy integration
src/
├── bot.py # Entry point — loads cogs, syncs slash commands, event loop
├── api_server.py # Starts the dashboard API beside the bot
├── webapp/ # Flask app entrypoint, helpers, and focused route modules
│ ├── __init__.py # Exposes the Flask app
│ ├── server.py # Shared app setup and web helpers
│ └── *_routes.py # Auth, dashboard, public, team, donation, card, and site routes
├── 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/ # Generated React build served by webapp/
│ └── dist/
├── web/ # React + Vite dashboard source
│ ├── src/App.tsx # Public pages and dashboard views
│ ├── src/api.ts # Typed API client
│ └── src/styles.css # Design tokens and responsive styles
└── 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)
Requirements: Python 3.10+, Node.js 20+, discord.py 2.3, wavelink, Flask, Pillow, OpenAI (via any OpenAI compatible API provider)
来源:GitHub · github.com