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: requires label and url
  • Type membercount: shows membercount in label; supports disabled

Guild Settings

  • GET /api/guilds/{guildId}/settings
  • PUT /api/guilds/{guildId}/settings with body { "config": { prefix } }