statsify
statsify copied to clipboard
A monorepo for the Statsify Discord Bot
Statsify
A Hypixel and Minecraft focused Discord Bot
💻 Developing
⚒️ Requirements
Node.js: For running code (v20)Rust: For skin rendering (v1.72.0)pnpm: Installing packages and running scripts (npm install -g pnpm)MongoDB: For Persistent data (Atlas)Redis: For Leaderboards (Redis Cloud)RediSearch: For Autocomplete optionalHypixel API Key: For requesting Hypixel data, create an API Key on developer.hypixel.net
🖼️ Assets
- Currently we supply public assets for development as a git submodule
- In addition, you must provide a 1.8.9 texture pack in the
assets/public/minecraft-textures/default
🚀 Running
- The codebase is split into apps and packages
- Set up a
config.jsfile in the root of the project following theconfig.schema.jsfile (copy paste it over and fill it in) - Pull the git submodules (
git submodule update --init) - Set up the assets by running
cd assets/public && pnpm - Use
pnpm buildto build all packages and apps, - Use
pnpm build:watchto watch files and build them while you code - Use
pnpm {appName} startto run an app, egpnpm api startto run the API
🤖 Other Important commands
# Change things in a package/app
$ pnpm workspace {app or package name} {command}
# Example: Adding a dependency
$ pnpm workspace {app or package name} add {dependency}
# Linting
$ pnpm lint
# Testing
$ pnpm test
# Type Testing
$ pnpm test:types
💁 Contributing
- Follow the guidelines in
.github/CONTRIBUTING.md - If you are unsure of anything join our
Discordand then message,@jacobkoshy
😕 Help
- If you require support join our
Discordand create a ticket in the#create-ticketchannel
🔗 Links
Showcase
