Skip to content

imnaiyar/SkyHelper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


SkyHelper
SkyHelper

TypeScript Discord.js Node.js

Stars GitHub release (with filter) GitHub License Tests status Localisation

🌐 Website β€’ πŸ“Š Dashboard β€’ βž• Invite Bot β€’ ⭐ Vote β€’ πŸ“š Documentation β€’ πŸ’¬ Support Server


🌟 About SkyHelper

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.

✨ Key Features

  • πŸ“… 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

πŸ—οΈ Project Structure

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 Details

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

πŸš€ Quick Start

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/imnaiyar/SkyHelper.git
    cd SkyHelper
  2. Install dependencies

    pnpm install --frozen-lockfile
  3. Build all packages

    pnpm build
  4. Configure environment

    cp packages/skyhelper/.env.example packages/skyhelper/.env
    # Edit .env with your Discord token, MongoDB URI, etc.
  5. Run the bot

    # Development mode
    pnpm bot:dev
    
    # Production mode
    pnpm bot

🐳 Docker Deployment (Recommended)

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

πŸ› οΈ Development

Development Workflow

# 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

Code Quality

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

🀝 Contributing

We welcome contributions from the Sky community! Here's how to get started:

Getting Started

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/amazing-feature
  3. Install dependencies: pnpm install --frozen-lockfile
  4. Build the project: pnpm build
  5. Make your changes
  6. Test your changes: pnpm test
  7. Lint your code: pnpm lint
  8. Commit using conventional commits: git commit -m "feat: add amazing feature"
  9. Push to your branch: git push origin feat/amazing-feature
  10. Create a Pull Request

Commit Convention

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

Development Environment

  • VS Code recommended with TypeScript extensions
  • Git hooks automatically format and lint code
  • Test coverage maintained above 80%
  • Documentation updated for all new features

πŸ“ License

This project is licensed under the ISC License - see the LICENSE file for details.

🌍 Community & Support

πŸ™ Acknowledgments

  • 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

About

Discord Bot for providing Sky: Children of Lights (Sky: CotL) related infos.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 8