Progress
SkyHelper
A Sky COTL Discord Bot
Website (opens in a new tab) • Dashboard (opens in a new tab) • Invite (opens in a new tab) • Vote (opens in a new tab) • Credits (opens in a new tab) • Support Server (opens in a new tab)
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. - Install the required deps by running
npm i
- Run
npm run build
to build the project - Run
npm run commands
to register the slash commands. - Prefix Commands (opens in a new tab) is for my personal use and you can chose to delete the folder if you wish. Should you delete,
messageCreate.ts
event won't be needed either and you can remove that too. - Run
npm start
to start the project
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)