ErudiBot is a smart assistant for your Discord meetings. It enhances collaboration by automatically recording, transcribing, summarizing, and assigning tasks based on voice conversations.
This repository contains the application server for ErudiBot. It connects to external APIs such as OpenAI's Whisper (for speech-to-text) and ChatGPT (for summarization and intelligent responses). To reduce processing time after the meeting, audio is sent to Whisper in 30-second chunks during the recording session.
We have also integrated the Planning and Reflection patterns from the concept of Agentic AI Design Patterns to improve ErudiBot's performance and response quality.
Below are images of the system architecture and prompt flow.
-
/record – Starts recording the meeting. (Must be in a voice channel)
-
/stop – Stops the recording, transcribes the audio, and generates a summary in the current text channel.
-
Ask GPT – Right-click any message → Apps → Ask GPT → Ask follow-up questions or dive deeper based on that message.
-
Get Task Allocation – Right-click on the meeting summary → Apps → Get Task Allocation → Automatically assigns action items to participants based on the summary.
Before you begin, ensure you have met the following requirements:
- Node.js
- Openai API
- A Discord account
- Discord Developer Portal access to create a bot token
Follow these steps to set up your development environment:
-
Clone the repository:
git init git clone https://github.com/Nathathaii/ErudiBot-app-server.git cd ErudiBot-App-Server -
Set up:
npm init npm install
-
Create .env file: State variables in .env file
-
Register discord bot commands:
node register-commands_global.js
To run your bot locally, use the following command:
nodemonYou can see what ErudiBot can do by using the /help command in Discord.

