Nori started as a Discord bot in 2022. Today it includes the bot, Nori-Web, public docs, and APIs used by Wynncraft community developers.
As of early 2026, Nori is the largest Wynncraft Discord bot, serving more than 3,000 servers.
The repository keeps the Discord bot and web-facing files in separate directories:
src/
bot/ Python Discord bot and command implementation
web/ Separate static web interface and public docs
db/ Backend notes and development/test utilities
The bot lives in src/bot. It uses Hikari, Lightbulb, and Miru for Discord commands and interactive components. Shared Wynncraft logic lives in src/bot/lib, command modules live in src/bot/lib/commands, and command registration is handled by src/bot/lib/commands/loader.py.
To run the bot locally:
cd src/bot
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python nori_bot.pyConfiguration is loaded from ~/.env by src/bot/lib/config.py. At minimum, a local bot needs a Discord token:
NORI_TOKEN=your_discord_bot_tokenOptional integrations use additional variables such as NORI_GPT_KEY, WYNN_BOT_TOKEN, WYNN_SOURCE_TOKEN, LOG_CHANNEL_ID, and BOT_OWNER_ID. Some production data files are not committed, so data-heavy commands may need local fixtures, public API calls, or maintainer-provided data before they behave exactly like the hosted bot.
For more bot contributor notes, see src/README.md and src/bot/README.md.
Most bot work follows this path:
- Add or update command behavior in
src/bot/lib/commands. - Reuse shared helpers from
src/bot/libinstead of duplicating API, rendering, or parsing logic. - Register new command modules in
src/bot/lib/commands/loader.py. - Update
src/web/docs/commands.mdwhen a public slash command documented on the website changes. - Keep secrets, deployment data, generated caches, and private API tokens out of commits.
The web app is static and can be previewed with any local static server:
python -m http.server 8000 -d src/webThen open http://localhost:8000.
- Web Interface: nori.fish
- Discord Bot: Add to Server
- Kook Bot (China): Bot Market
- API Documentation: nori.fish/docs
- Community Discord: Join Server
- GitHub: RawFish69/Nori
Nori's bot source is published for community development under the repository license. The web files in this repository are separate from the Discord bot runtime. Production credentials, private deployment configuration, generated runtime data, and infrastructure-specific files are intentionally not included. Please do not commit secrets or data pulled from private services.
Pull requests should be focused, include a short summary and testing notes, and avoid mixing Discord bot changes with Nori-Web changes unless needed. Do not commit secrets, generated caches, production config, or private runtime data.
- Discord: rawfish69
- GitHub: @RawFish69
Nori is licensed under the GNU Affero General Public License v3.0.
Made for the Wynncraft community