https://github.com/rawfish69/nori
https://github.com/rawfish69/nori
discord-bot hikari-lightbulb hikari-py webapp wynncraft
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/rawfish69/nori
- Owner: RawFish69
- License: agpl-3.0
- Created: 2022-11-25T20:13:00.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-20T23:12:02.000Z (over 1 year ago)
- Last Synced: 2025-03-21T00:22:32.468Z (over 1 year ago)
- Topics: discord-bot, hikari-lightbulb, hikari-py, webapp, wynncraft
- Language: JavaScript
- Homepage: https://nori.fish
- Size: 4.19 MB
- Stars: 23
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nori
[](https://nori.fish)
[](https://discord.com/discovery/applications/873677970928193568)
[](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
- [Add Nori to Discord](https://discord.com/discovery/applications/873677970928193568)
- [Visit Nori Web](https://nori.fish)
- [Read API Docs](https://nori.fish/docs/)
- [Join the Community Discord](https://discord.gg/eDssA6Jbwd)
## Code Development
The repository keeps the **Discord bot** and **web-facing files** in separate directories:
```text
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:
```powershell
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:
```env
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](src/README.md) and [src/bot/README.md](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:
```powershell
python -m http.server 8000 -d src/web
```
Then open `http://localhost:8000`.
## Links
- **Web Interface**: [nori.fish](https://nori.fish)
- **Discord Bot**: [Add to Server](https://discord.com/discovery/applications/873677970928193568)
- **Kook Bot** (China): [Bot Market](https://www.botmarket.cn/bot/28)
- **API Documentation**: [nori.fish/docs](https://nori.fish/docs/)
- **Community Discord**: [Join Server](https://discord.gg/eDssA6Jbwd)
- **GitHub**: [RawFish69/Nori](https://github.com/RawFish69/Nori)
## 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
- **Discord**: rawfish69
- **GitHub**: [@RawFish69](https://github.com/RawFish69)
## License
Nori is licensed under the [GNU Affero General Public License v3.0](LICENSE).
---
*Made for the Wynncraft community*