Overview
Shell. provides a web dashboard and a Discord bot with logging, welcome automation, and utility slash commands. This page documents endpoints exposed by the dashboard API and the available bot features.
Slash Commands
/ping→ Bot latency/userinfo [user]→ Info about a member/serverinfo→ Server stats/avatar [user]→ Full avatar/invite→ Bot invite link/uptime→ Bot uptime
Classic Commands
.welcomegroup (Manage Server).welcome→ Show current config.welcome channel #channel.welcome roles @role1 @role2.welcome message Your message with {user.mention}.welcome button link "Label" https://example.com.welcome button membercount "Label" [disabled:true|false].welcome button clear
.logging(Manage Server) → Prints current dashboard logging configuration (channel, mode, and all event toggles)..dice [sides]→ Roll a dice.slow [seconds]→ Simulated delay
Shell. Permissions
The bot requires the following Discord permissions for full functionality:
- Read Messages/View Channels and Send Messages
- Manage Messages (for advanced moderation logging)
- Embed Links (used by branded log messages)
- View Audit Log (to attribute actions to moderators)
- Manage Roles (only for Welcome auto-role, if configured)
Branding: embeds use Shell. red #D84646 and include bot/server visuals when available.
Shell. API
Authentication
GET /api/auth/login→ Redirects to Discord OAuth2.GET /api/auth/callback→ Handles OAuth2 callback, creates session cookie.POST /api/auth/logout→ Clears session.GET /api/me→ Returns authenticated Discord user.
Guilds
GET /api/guilds→ Mutual guilds where you have Manage Server.GET /api/guilds/{guildId}→ Guild summary: icon, banner, members, boosts.GET /api/guilds/{guildId}/channels→ Text channels for selects.GET /api/guilds/{guildId}/roles→ Roles (excluding @everyone).
Logging Configuration
GET /api/guilds/{guildId}/logging→ Returns logging config.PUT /api/guilds/{guildId}/logging→ Body:{ "config": { ... } }.
Events groups and keys supported by the bot:
- message:
delete,edit - member:
join,leave,ban,unban,update - channel:
create,delete,update - emoji:
create,delete,update - voice:
join,leave,switch - command:
usage,errors
Welcome System
GET /api/guilds/{guildId}/welcomePUT /api/guilds/{guildId}/welcomewith body{ "config": { channel, roles[], message, buttons[] } }
Placeholders
{user.mention}→ Mentions the new user{user.name}→ Username{server}→ Server name{membercount}→ Current member count
Buttons
- Type
link: requireslabelandurl - Type
membercount: shows membercount in label; supportsdisabled
Guild Settings
GET /api/guilds/{guildId}/settingsPUT /api/guilds/{guildId}/settingswith body{ "config": { prefix } }