Independent build · Discord bot

Sandwich Bot

A TypeScript Discord bot with music playback, voice tooling, event scheduling, and service-backed Google Calendar synchronization.

Status
In progress
Role
Independent community bot
Source reviewed
26 February 2026
Sandwich Bot project documentation
Sandwich accepting Discord slash commands and adding requested tracks to a shared music queue.

What it solves

Community tasks such as shared music, voice utilities, event scheduling, and calendar coordination are fragmented across separate tools. A Discord bot can keep those actions in the channel where the group already communicates.

Sandwich provides typed slash-command modules for music playback and settings, voice recording, event creation and discovery, Google account linking, and calendar synchronization, supported by dynamically loaded events and service clients.

Architecture

Module loader
Glob-loaded modules register Discord events and dispatch slash commands from shared maps.
Music runtime
Kazagumo wraps Shoukaku-backed Lavalink players for search, queues, and voice playback.
API services
User, event, Google, and calendar services share one typed HTTP client.

Technology

  • TypeScript
  • Bun
  • Discord.js 14
  • Kazagumo
  • Shoukaku
  • Lavalink
  • Spotify
  • REST APIs

The repository remains the source of truth for implementation details. Inspect the source