Sign inSign up

roseatoni/skimbot

By roseatoni

•Updated about 1 year ago

A discord bot to quickly summarize conversations you may have missed

Image
0

672

roseatoni/skimbot repository overview

⁠SkimBot

⁠Overview

This bot, named SkimBot, uses Ollama⁠ to summarize recent messages in a Discord channel. It fetches a specified number of messages and sends back a summarized version of the conversation.

⁠Bot Setup

  • Go to the Discord Developer Portal⁠.
    • Click new application and customize the bot with a name and profile picture.
    • On the OAuth2 tab, use the OAuth2 URL Generator to generate a server invite link with the following permissions and add the bot to your server:
      • Scopes
        • bot
        • applications.commands
      • Bot Permissions
        • Send messages
        • Read message history
    • On the Bot tab, copy the bot token.

⁠Enviorment Variables

The following environment variables are required for this bot to function properly:

  • TOKEN: The Discord API token.
  • GUILD_ID: The ID of the
  • URL: The URL of the Ollama instance.
  • MODEL: The model to use for summarization.
  • PROMPT: The prompt to tell the LLM how you want the conversation to be summarized.

* You can find the Guild ID by logging into discord on the web, opening the desired server, and copying the last number in the URL.

⁠Docker Setup

A dockerized version of this app is available on Docker Hub⁠.

All you need to do for the dockerized version is provide your enviornment variables when running the docker container.

⁠Docker Run Command
docker run -d \
  --env TOKEN=your_token \
  --env GUILD_ID=your-guild-id \
  --env URL=http://your-ai-api-endpoint \
  --env MODEL=your-model \
  --env PROMPT="Please summarize the following conversation. Please keep it as short as possible without missing any key arguments or details." \
  roseatoni/skimbot:latest
⁠Docker Compose File
services:
    skimbot:
        environment:
            - TOKEN=your-token
            - GUILD_ID=your-guild-id
            - URL=http://your-ai-api-endpoint
            - MODEL=your-model
            - PROMPT="Please summarize the following conversation. Please keep it as short as possible without missing any key arguments or details."
        image: roseatoni/skimbot:latest

⁠Native Setup

  1. Install Requirements

    • Python 3.x
    • discord.py⁠ library
    • requests library
    • python-dotenv library

    You can install these libraries using pip:

    pip install discord.py requests python-dotenv
    
  2. Download this repo

  3. Set Up Environment Variables

    • Create a file called .env.

    • Fill in the enviorment variables:

      TOKEN=your-discord-bot-token
      GUILD_ID=your-guild-id
      URL=http://localhost:11434/api/generate  # Replace with your Ollama endpoint
      MODEL=gemma3:12b                         # Replace with your chosen model
      PROMPT=Please summarize the following conversation. Please keep it as short as possible without missing any key arguments or details. 
      
  4. Run the bot

    • Once the .env file is configured, run the skimbot.py Python file.
    • In Discord, use the /skim slash command followed by the number of messages you want to summarize (e.g., /skim 20).

Tag summary

Content type

Image

Digest

sha256:3e670a46a…

Size

21.4 MB

Last updated

about 1 year ago

docker pull roseatoni/skimbot