← Home

2026 · personal · private

discord-meeting-bot

Automatic recording, transcription and summaries for Discord meetings

Role
Design and implementation
Period
2026.07 – 2026.08
Status
In use
Stack
TypeScript, discord.js, Whisper, Claude API
Links

Why

Meetings held in a Discord voice channel leave nothing behind. This bot records when people arrive and writes the minutes when they leave.

How it works

  1. /watch add <voice channel> registers a channel. When someone joins, the bot joins and starts recording; when everyone leaves, it stops.
  2. Audio is received as one stream per participant, so speaker separation comes for free. opus is stored as OGG without re-encoding.
  3. Whisper transcribes; Claude extracts a summary, decisions and action items.
  4. The summary embed and the minutes/transcript files are posted to the text channel, and optionally committed to a GitHub repository as meetings/YYYY/MM/*.md through the Contents API: no clone needed.

Stack

Node.js 22 + TypeScript, discord.js v14 + @discordjs/voice, prism-media v2. No privileged intents; STT and summary models are configured via environment variables.

Status

In use, together with a repository (meeting-notes) that receives the minutes automatically.