Skip to content

RawFish69/Nori

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

795 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nori

Status Bot License

Discord bot, Web app, and APIs for Wynncraft.

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.

Quick Start

Code Development

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.py

Configuration is loaded from ~/.env by src/bot/lib/config.py. At minimum, a local bot needs a Discord token:

NORI_TOKEN=your_discord_bot_token

Optional 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.

Working on Commands

Most bot work follows this path:

  1. Add or update command behavior in src/bot/lib/commands.
  2. Reuse shared helpers from src/bot/lib instead of duplicating API, rendering, or parsing logic.
  3. Register new command modules in src/bot/lib/commands/loader.py.
  4. Update src/web/docs/commands.md when a public slash command documented on the website changes.
  5. 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/web

Then open http://localhost:8000.

Links

Source Code Notice

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.

Contributing

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.

Contact

License

Nori is licensed under the GNU Affero General Public License v3.0.


Made for the Wynncraft community

About

utility discord bot + web app

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors