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
.welcome
group (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}/welcome
PUT /api/guilds/{guildId}/welcome
with 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
: requireslabel
andurl
- Type
membercount
: shows membercount in label; supportsdisabled
Guild Settings
GET /api/guilds/{guildId}/settings
PUT /api/guilds/{guildId}/settings
with body{ "config": { prefix } }