Skip to content

[CavBot2] Implementing Craig-Like Recording Features #10

@SyniRon

Description

@SyniRon

Project Description: Integrating Craig-Like Recording Features into CavBot2

Objective
Implement core voice recording functionalities in CavBot2, inspired by Craig Bot, to allow users to record voice channels, save recordings, and distribute them efficiently. This will provide a streamlined solution for managing voice recordings within the organization’s Discord server.


Core Features

  1. Voice Channel Recording

    • Command to have CavBot2 join a voice channel and start recording (/record).
    • Ensure recordings are multi-track (separate audio for each user, if feasible).
  2. Stop Recording

    • Command to stop the recording and have CavBot2 leave the voice channel (/stop).
  3. File Saving and Distribution

    • Save recordings in a designated file format (e.g., FLAC, MP3).
    • Distribute the recording link to the user who initiated the recording via direct message or a designated Discord channel.

Optional Goals

  1. Audio Request System

    • Allow other users in the server to request access to the recording via a command (e.g., /getrecording).
    • Implement role-based permissions for requesting recordings.
  2. Web Panel for Audio Management

    • Develop a web interface for browsing, downloading, and managing historical recordings.
    • Provide search and filter options (e.g., by date, user, or channel).
  3. Google Drive Integration

    • Automate the upload of recordings to the organization’s Google Drive.
    • Provide links to Google Drive files instead of raw file storage for easier sharing.

Stretch Goals

  1. Audio Transcription
    • Integrate a transcription service (e.g., Google Speech-to-Text or OpenAI Whisper) to generate transcripts of recorded audio.
    • Allow users to download transcripts or view them in the web panel.

Development Plan

  1. Requirements Gathering

    • Review the organization’s specific needs for recording and file management.
    • Identify server permissions and technical constraints.
  2. Core Feature Implementation

    • Develop the /record and /stop commands.
    • Implement audio recording capabilities for voice channels, saving recordings locally or on cloud storage.
  3. Testing and Validation

    • Test commands in various scenarios, such as large voice channels or short recording sessions.
    • Validate audio quality and ensure proper file saving and user distribution.
  4. Optional Features Development

    • Add user request commands and a role-based permissions system.
    • Build a basic web panel for historical audio storage and management.
    • Integrate Google Drive for automated uploads.
  5. Stretch Goal Implementation

    • Research and integrate a transcription service.
    • Implement transcript generation and distribution alongside audio files.
  6. Deployment and Monitoring

    • Deploy the updated CavBot2 to the live server.
    • Monitor performance and gather feedback for further improvements.

Success Criteria

  • CavBot2 can join and record voice channels reliably and distribute recordings to users.
  • Optional goals (e.g., web panel, Google Drive integration) enhance functionality and user convenience.
  • Stretch goals, if implemented, add valuable transcription features to the recording workflow.

This project will modernize CavBot2 with powerful voice recording features, aligning the bot with organizational needs for efficient audio management.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

Icebox

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions