Skip to content
This repository was archived by the owner on Feb 21, 2026. It is now read-only.
This repository was archived by the owner on Feb 21, 2026. It is now read-only.

Add Discord voice channel recording access #40

Description

@Peyton-Spencer

Problem

Agents can't access Discord voice channel recordings from team calls. This prevents agents from understanding context from voice discussions and limits their ability to provide continuity across async + sync communication.

Proposed Solution

Integrate Discord voice recording capabilities so agents can:

  1. Access recordings from Discord voice channels/calls
  2. Transcribe audio to text for analysis
  3. Extract action items and key discussion points
  4. Link recordings to chat context (connect voice → text channels)

Technical Challenges

Discord Recording Options

Option 1: Discord Bot Voice Receive (Hard)

  • Use Discord.js voice receive to record in real-time
  • Requires bot to join voice channels
  • Need audio processing pipeline (PCM → MP3/OGG)
  • High complexity, resource-intensive

Option 2: Third-Party Recording Service (Easier)

  • Use existing services (Craig, Mee6, etc.) that already handle recording
  • Bot triggers recording start/stop via API
  • Fetch recordings after call ends
  • Lower complexity, may cost money

Option 3: Manual Upload Flow (Simplest)

  • Users manually upload recordings to Discord chat
  • Bot watches for audio file attachments
  • Processes uploaded recordings automatically
  • No real-time recording needed

Recommended Approach: Hybrid

  1. Phase 1: Manual upload flow - get transcription working first
  2. Phase 2: Integrate third-party service - automate recording
  3. Phase 3: Native recording - only if needed for privacy/cost

Implementation Ideas

Discord Bot Permissions Needed

  • CONNECT - Join voice channels
  • SPEAK - Participate in calls (optional)
  • VIEW_CHANNEL - See voice channels
  • USE_VAD - Voice activity detection

Audio Processing Pipeline

  1. Capture: Record audio stream (PCM/Opus from Discord)
  2. Convert: Transcode to standard format (MP3/WAV)
  3. Transcribe: Use Whisper API or similar (OpenAI, AssemblyAI)
  4. Store: Save recording + transcript
  5. Index: Make searchable for future context

Integration Points

  • Add to existing Discord backend (src/discord/)
  • Store recordings in shared storage (B2, S3)
  • Link recordings to Discord message context
  • Trigger transcription jobs automatically

Use Cases

  • Call summaries: Auto-generate summaries after team calls
  • Action item tracking: Extract TODOs from discussions
  • Async catchup: Team members can review call context
  • Agent context: Agents understand what was discussed in voice

Related Work

  • Complements Google Meet recording access (sibling issue)
  • Could share transcription infrastructure
  • May need audio storage (Backblaze B2 already configured)

Libraries/Services to Consider

  • Discord.js with voice support (@discordjs/voice)
  • Prism Media for audio processing
  • FFmpeg for audio conversion
  • Whisper (OpenAI) for transcription
  • Craig Bot as reference implementation

Privacy & Legal Considerations

  • Consent: Notify participants that recording is active
  • Storage: Secure audio file storage with access controls
  • Retention: Define how long to keep recordings
  • Compliance: Check local laws (two-party consent, etc.)

Example Flow

1. Bot joins voice channel when call starts
2. User: "@PeytonOmni record this call"
3. Bot: "🔴 Recording started"
4. [Call happens]
5. User: "@PeytonOmni stop recording"
6. Bot: "✅ Recording saved, transcribing..."
7. Bot: [Posts summary + transcript to text channel]

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions