Skip to content
Eren Yangil
Menu
All projects

Personal / Discord Bot · Self-Hosted

D&D Session Recorder

A self-hosted Discord bot that records tabletop sessions per speaker, hands the audio to a separate transcriber, and posts the finished transcript back to the channel.

Recording and transcription want opposite machines: recording needs Discord access and almost no CPU, transcription needs a lot of CPU and no network. So the bot only records, and a separate transcriber picks up finished sessions wherever there is CPU to spare.

  • Per-speaker recording, written to disk incrementally and fsync-ed every few seconds, so a crash loses almost nothing.
  • Handover through a shared filesystem or a Cloudflare R2 bucket, with speaker labels frozen into the session metadata so the transcriber needs no database or Discord access.
  • Campaigns: several games on one server, each with its own voice channel, character names, expected names and “heard → correct” fixes.
  • Slash commands for sessions, characters, campaigns and private initiative rolls, with admin-only commands for anything that reaches into past sessions.
  • Music and soundboard in voice, plus an HTTP API that the web portal drives.
  • Runs on the smallest VPS: no GPU, and it idles at a couple of hundred MB of RAM.