Skip to content

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

License

Notifications You must be signed in to change notification settings

imnaiyar/SkyHelper

Repository files navigation


SkyHelper
SkyHelper

A Sky CotL Discord Bot


GitHub release (with filter) GitHub License GitHub package.json dependency version (subfolder of monorepo) Tests status Build status Localisation


WebsiteDashboardInviteVoteDocsSupport Server


Features

  • 🌋 Shards
  • 🗓 Shards calendar
  • 🧮 Seasonal currency calculator
  • 🕑 In-game events times and countdowns
  • ⏰️ Reminders (Geyser, Grandma, etc...)
  • 🟢 Live Updates
  • 🈯️ Supports mulitple language (help us support more)
  • and much more...

Building the bot

  • Clone this repository by running
git clone https://github.com/imnaiyar/SkyHelper
  • Rename example.env to .env and fill all the required fields. (We have CLI to streamline this process. Run npm run setup and it'll setup the .env file for you)
  • Install the required deps by running pnpm install --frozen-lock
  • Run pnpm build:prod to build the project
  • Run pnpm commands:prod to register the slash commands.
  • Run pnpm start to start the project

Important

If you plan to use live updates/Reminders feature, you'll have to also host/run skyhelper-jobs as cron jobs to send the reminders/updates are hosted on a different process to reduce the load on the main bot. Intructions to set it up is given on the repo's README

Dashboard

Only backend is hosted with the bot, front-end is a closed-source, unless you can build your own front-end, it's better if you disable it before running the bot src > config.ts

DASHBOARD: {
  enabled: false,
  ...//
}

Endpoints

Endpoints available for the dashboards are:-

GET /guilds/{guild}

Get guild info (dashboard > types.ts > GuildInfo)
Respond 404 or null if bot hasn't joined the guild

GET /guilds/{guild}/features/{feature}

Get Feature options (dashboard > types.ts) Respond 404 if not enabled

PATCH /guilds/{guild}/features/{feature}

Update feature options With custom body (defined in dashboard > types.ts > Features[K]) Respond updated feature options

POST /guilds/{guild}/features/{feature}

Enable a feature

DELETE /guilds/{guild}/features/{feature}

Disable a feature

GET /guilds/{guild}/roles

Get Roles of the guild Responds a list of Role Object (Same as discord documentation)

GET /guilds/{guild}/channels

Get Channels of the guild Responds a list of Guild Channel (Same as discord documentation)

This bot is not affiliated with Sky: Children of the Light or thatgamecompany