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

πŸš€ 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

πŸ“ License

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

🌍 Community & Support

πŸ™ Acknowledgments

Planner

Planner uses data from Sky Planner by Silverfeelin and is inspired by it.

Shard Predictions

Special thanks to the dedicated community members who help provide accurate shard predictions:

  • Zhii (zhiiran4275)
  • Christian (christiankingfu)
  • Hucker (hucker_)
  • Plutoy (plutoy)
  • Kion (kion_anzu)
  • LN (ln.cookie)
  • Gale (galerowfylery)
  • Stoat (.stoat.)

Seasonal and Other Guides

Thanks to the content creators and guide makers who provide valuable resources:

  • Clement (clement8978)

  • Mimi (mimi4117)

  • Sam (sam6917)

  • Zed (zedlocked_)

  • Art (lovecry)

  • io - Daily quest guides

  • And all others who do the awesome job of creating guides

    Many of SkyHelper's guide features are powered by the incredible infographics and guides created by these community contributors.


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 10