Skip to content

suppprith/scribe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scribe - Voice Note Assistant

A Discord meeting assistant that automatically joins voice channels, records conversations, uploads to Google Drive, and generates structured summaries using Google Gemini AI.

Features

  • Automatic Operation: Joins when target user joins a voice channel
  • High-Quality Recording: Captures audio and converts to MP3
  • Google Drive Integration: Automatically uploads recordings to your Drive folder
  • AI Summaries: Generates structured meeting notes using Gemini 1.5 Flash
  • Discord Integration: Posts summaries with recording links to your specified channel
  • Privacy-Focused: Only records when target user is present, auto-deletes local files

Flow

User Joins VC → Bot Joins & Records → User Leaves → Stop Recording
    → Merge Audio → Convert to MP3 → Upload to Google Drive
    → Generate AI Summary → Post to Discord (with Drive link)

Tech Stack

  • Runtime: Bun (v1.1+)
  • Server: Hono
  • Discord: discord.js v14 + @discordjs/voice
  • LLM: Google Gemini 1.5 Flash
  • Audio: prism-media + ffmpeg-static (WAV/MP3 format)
  • Cloud Storage: Google Drive API

Setup

Prerequisites

Installation

  1. Clone the repository:
git clone https://github.com/suppprith/scribe.git
cd scribe
  1. Install dependencies:
bun install
  1. Configure environment variables:
cp .env.example .env

Edit .env and fill in your credentials:

# Discord
DISCORD_TOKEN=your_discord_bot_token_here
TARGET_USER_ID=your_discord_user_id_here
MEETING_NOTES_CHANNEL_ID=your_channel_id_here

# Gemini AI
GEMINI_API_KEY=your_gemini_api_key_here

# Google Drive
GOOGLE_SERVICE_ACCOUNT_EMAIL=[email protected]
GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
GOOGLE_DRIVE_FOLDER_ID=your_folder_id_here

Google Cloud Setup

  1. Go to Google Cloud Console
  2. Create a new project (or select existing)
  3. Enable the Google Drive API
  4. Go to Credentials → Create Credentials → Service Account
  5. Download the JSON key file
  6. Copy client_email to GOOGLE_SERVICE_ACCOUNT_EMAIL
  7. Copy private_key to GOOGLE_PRIVATE_KEY
  8. Create a folder in Google Drive for recordings
  9. Share the folder with the service account email (Editor access)
  10. Copy the folder ID from the URL to GOOGLE_DRIVE_FOLDER_ID

Getting Your Discord User ID

  1. Enable Developer Mode in Discord (User Settings → Advanced → Developer Mode)
  2. Right-click your username and select "Copy User ID"

Running the Bot

Development mode (with hot reload):

bun run dev

Production mode:

bun run start

Usage

  1. Invite the bot to your Discord server
  2. Grant it permissions: View Channels, Connect, Speak
  3. When you (the target user) join a voice channel, the bot automatically:
    • Joins the same channel
    • Starts recording
    • Leaves when you leave
    • Converts recording to MP3 and uploads to Google Drive
    • Sends a summary to your meeting notes channel with the Drive link

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published