π Website β’ π Dashboard β’ β Invite Bot β’ β Vote β’ π Documentation β’ π¬ Support Server
SkyHelper is a comprehensive Discord bot designed specifically for the Sky: Children of the Light community. It provides essential tools and information to enhance your Sky experience, from tracking daily events to managing spirit guides and seasonal content.
- π Event Tracking: Stay updated with daily quests, seasonal events, and special occasions
- π» Spirit Information: Comprehensive database of all spirits, their locations, and cosmetics
- ποΈ Shards Calendar: Never miss a shard event with automated reminders
- π Multi-language Support: Available in multiple languages thanks to our amazing community
- β‘ Real-time Updates: Get instant notifications for game events and updates
- π¨ Interactive Commands: Rich embeds and user-friendly slash commands
- π Statistics: Track your progress and server activity
This monorepo contains all components of the SkyHelper ecosystem:
skyhelper/
βββ π¦ packages/
β βββ π€ skyhelper/ # Main Discord bot application
β βββ β° jobs/ # Scheduled tasks and reminders
β βββ π οΈ utils/ # Shared utility functions
β βββ π constants/ # Game data, localizations, and constants
βββ π± apps/
β βββ π docs/ # Documentation website (Next.js)
βββ π³ docker-compose.yml # Production deployment
βββ βοΈ Configuration files
Package | Description | Technologies |
---|---|---|
skyhelper | Core Discord bot with slash commands, events, and API server | Discord.js, NestJS, MongoDB |
jobs | Automated reminders and scheduled notifications | Node-cron, Bun runtime |
utils | Canvas operations, Discord utilities, shared functions | Canvas API, TypeScript |
constants | Spirit data, realm information, localizations | TypeScript definitions |
docs | Interactive documentation and API reference | Next.js, Fumadocs |
- Node.js 18+ and pnpm 9.4.0+
- MongoDB database (local or cloud)
- Discord Bot Token (Discord Developer Portal)
-
Clone the repository
git clone https://github.com/imnaiyar/SkyHelper.git cd SkyHelper
-
Install dependencies
pnpm install --frozen-lockfile
-
Build all packages
pnpm build
-
Configure environment
cp packages/skyhelper/.env.example packages/skyhelper/.env # Edit .env with your Discord token, MongoDB URI, etc.
-
Run the bot
# Development mode pnpm bot:dev # Production mode pnpm bot
For production deployment, use Docker Compose:
# Deploy both bot and jobs
docker compose up -d --build
# Deploy only the bot
docker compose up -d --build skyhelper
# Deploy only scheduled jobs
docker compose up -d --build jobs
# Install dependencies (required first time)
pnpm install --frozen-lockfile
# Start development servers
pnpm dev # All services
pnpm bot:dev # Bot only
pnpm jobs:dev # Jobs only
# Building and testing
pnpm build # Build all packages
pnpm test # Run test suite
pnpm lint # Code linting
This project maintains high code quality through:
- TypeScript for type safety
- ESLint for code consistency
- Prettier for formatting
- Jest for testing
- Husky for git hooks
- Conventional Commits for clear commit messages
We welcome contributions from the Sky community! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feat/amazing-feature
- Install dependencies:
pnpm install --frozen-lockfile
- Build the project:
pnpm build
- Make your changes
- Test your changes:
pnpm test
- Lint your code:
pnpm lint
- Commit using conventional commits:
git commit -m "feat: add amazing feature"
- Push to your branch:
git push origin feat/amazing-feature
- Create a Pull Request
We follow Conventional Commits:
feat: add new spirit information command
fix: resolve memory leak in event handlers
docs: update installation instructions
refactor: optimize database queries
- VS Code recommended with TypeScript extensions
- Git hooks automatically format and lint code
- Test coverage maintained above 80%
- Documentation updated for all new features
This project is licensed under the ISC License - see the LICENSE file for details.
- Discord Server - Get help, report bugs, suggest features
- Documentation - Comprehensive guides and API reference
- Website - Official website with bot information
- Issue Tracker - Bug reports and feature requests
- Sky: Children of the Light by thatgamecompany
- Amazing contributors who help translate and improve the bot
- Sky community for continuous feedback and support
- Open source libraries that make this project possible
Made with β€οΈ for the Sky: Children of the Light community