A powerful Discord bot that summarizes messages using Google's Gemini API. Features include message summarization, user settings, and multiple summary modes.
/summary- Summarize a certain number of previous messages/unreadsummary- Summarize all messages since your last sent message in a channel/fromtosummary- Summarize messages between a certain time period
/listmodes- Lists all the modes you have currently/addmode- Adds a mode to your mode list/removemode- Remove a mode from your mode list/setapikey- Set your own OpenAI API key for unlimited usage/removeapikey- Remove your OpenAI API key from being used/setlanguage- Set your language for summaries/setregion- Set your region for time-based summaries/setthread- Set whether summaries are outputted in threads or inline
/ping- Check your ping with the server/help- Get help information about the bot/invite- Get an invite link for the bot/support- Get a link to the support server/vote- Vote for the bot on top.gg/update- Check the latest updates/assistant- Chat with the built-in AI assistant
- Node.js 20 or higher
- A Discord bot token
- Gemini API key (optional - users can set their own)
- Clone this repository:
git clone <repository-url>
cd discord-summary-bot- Install dependencies:
npm install- Create a
.envfile based onenv.example:
cp env.example .env-
Fill in your Discord bot token and Gemini API key in the
.envfile. -
Run the bot:
npm startnpm run menuFrom the menu you can setup .env, start the bot, run in dev, and launch an interactive assistant chat.
For development with auto-restart:
npm run dev- Go to the Discord Developer Portal
- Create a new application
- Go to the "Bot" section and create a bot
- Copy the bot token and add it to your
.envfile - Go to "OAuth2" > "URL Generator"
- Select the following scopes:
botapplications.commands
- Select the following bot permissions:
- Send Messages
- Use Slash Commands
- Read Message History
- Create Public Threads
- Send Messages in Threads
- Embed Links
- Attach Files
- Use the generated URL to invite the bot to your server
Once the bot is running and added to your server, you can use any of the slash commands listed above. The bot will automatically register all commands when it starts up.
The bot uses SQLite to store user settings and preferences. The database file will be created automatically when the bot starts.
For support, join our Discord server or create an issue on GitHub.