A Discord bot that automatically records, transcribes, and summarizes voice channel meetings. It uses Groq for generating meeting summaries and Deepgram for accurate speech-to-text transcription.
- Voice channel recording
- Real-time transcription using Deepgram
- Chat message logging during meetings
- Automated meeting summaries using Groq's LLM
- Simple command interface
- Python 3.8+
- Discord Bot Token
- Groq API Key
- Deepgram API Key
- Clone the repository:
git clone https://github.com/mdimado/discord-meeting-assistant.git
cd discord-meeting-assistant
- Install dependencies:
pip install -r requirements.txt
- Create a
.env
file in the project root with your API keys:
DISCORD_TOKEN=your_discord_token
GROQ_API_KEY=your_groq_api_key
DEEPGRAM_API_KEY=your_deepgram_api_key
python main.py
The bot responds to the following commands:
!join
- Bot joins your current voice channel and starts recording!leave
- Bot leaves the channel and provides meeting transcript and summary!status
- Shows current recording status and statistics
The bot uses the following environment variables:
DISCORD_TOKEN
- Your Discord bot tokenGROQ_API_KEY
- API key for Groq's LLM serviceDEEPGRAM_API_KEY
- API key for Deepgram's speech-to-text service
discord-meeting-assistant/
├── main.py # Main bot code
├── requirements.txt # Project dependencies
├── .env # Environment variables
└── README.md # Documentation
Create a requirements.txt
with:
discord.py
fastapi
groq
deepgram-sdk
python-dotenv
uvicorn
nest-asyncio
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'feat: add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please make sure to update tests as appropriate and follow the existing code style.
Distributed under the MIT License. See LICENSE
for more information.
- Discord.py for the Discord API wrapper
- Groq for LLM capabilities
- Deepgram for speech-to-text transcription
For support, please open an issue in the GitHub repository or contact the maintainers.