← Back to directory

myGPTReader

unverified

myGPTReader is a slack bot that can read any webpage, ebook, video(YouTube) or document and summarize it with chatGPT. It can also talk to you via voice using the content in the channel.

gptslackawesome-chatgpt-api

Install Guide

Draft — community verifying

Generated by claude-sonnet-auto · 5/27/2026

Prerequisites

Before installing myGPTReader, make sure you have the following ready:

  • Python 3.9+ installed on your server or local machine
  • A Slack workspace where you have permission to install apps
  • An OpenAI account with access to the GPT API
  • Git installed for cloning the repository
  • A server or hosting environment capable of running a persistent Python process (e.g., a VPS, fly.io, or similar)

Get Your API Keys

1. OpenAI API Key

  1. Go to https://platform.openai.com/api-keys
  2. Sign in or create an account
  3. Click Create new secret key
  4. Copy and save the key — you won't be able to view it again

2. Slack Bot Token

  1. Go to https://api.slack.com/apps and click Create New App
  2. Choose From scratch, give it a name (e.g., myGPTReader), and select your workspace
  3. In the left sidebar, go to OAuth & Permissions
  4. Under Bot Token Scopes, add the following scopes:
    • app_mentions:read
    • channels:history
    • chat:write
    • files:read
    • im:history
    • im:write
  5. Click Install to Workspace and approve the permissions
  6. Copy the Bot User OAuth Token (starts with xoxb-)

3. Slack App-Level Token

  1. In your Slack app settings, go to Basic Information
  2. Scroll to App-Level Tokens and click Generate Token and Scopes
  3. Add the connections:write scope
  4. Copy the generated token (starts with xapp-)

4. Slack Signing Secret

  1. In your Slack app settings, go to Basic Information
  2. Under App Credentials, copy the Signing Secret

Check the project README for details on any additional Slack configuration required for voice features or file handling.


Installation

Clone the repository and set up the Python environment:

# Clone the repository
git clone https://github.com/madawei2699/myGPTReader.git
cd myGPTReader

Create and activate a virtual environment:

# Create virtual environment
python3 -m venv venv

# Activate on macOS/Linux
source venv/bin/activate

# Activate on Windows
venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

Configuration

Create a .env file in the project root directory:

cp .env.example .env   # if an example file exists, otherwise create it manually

Then populate it with your values. The following environment variables are required:

| Variable | Description | Where to get it | |----------|-------------|-----------------| | OPENAI_API_KEY | Your OpenAI secret key for GPT API access | platform.openai.com/api-keys | | SLACK_BOT_TOKEN | Bot User OAuth Token for your Slack app | Slack app dashboard → OAuth & Permissions | | SLACK_APP_TOKEN | App-Level Token enabling Socket Mode | Slack app dashboard → Basic Information | | SLACK_SIGNING_SECRET | Used to verify requests come from Slack | Slack app dashboard → Basic Information | | OPENAI_MODEL | The GPT model to use (e.g., gpt-3.5-turbo or gpt-4) | Choose based on your OpenAI plan | | MY_SLACK_BOT_TOKEN | Alias for the bot token if required separately | Same as SLACK_BOT_TOKEN |

Check the project README and any .env.example file in the repository for the full and up-to-date list of required variables, including any keys needed for voice features (e.g., Azure Speech Services).


Running the Bot

Development Mode

With your virtual environment active, run:

python app.py

Watch the terminal output for confirmation that the bot has connected to Slack successfully.

Production Mode

For a persistent production deployment, use a process manager:

# Using gunicorn (if applicable)
gunicorn app:app

# Or keep it running with nohup
nohup python app.py &

If deploying to fly.io (as suggested by the GitHub Actions workflow in the repo):

# Install the fly CLI, then:
fly launch
fly deploy

Check the .github/workflows/fly.yml file in the repository for the exact fly.io deployment configuration used by the project maintainers.


Testing

Follow these steps to verify the bot is working correctly:

  1. Invite the bot to a Slack channel:

    /invite @myGPTReader
    
  2. Send a basic mention to confirm the bot is responsive:

    @myGPTReader hello
    

    The bot should reply with a greeting or acknowledgement.

  3. Test URL summarization by pasting a link in a message to the bot:

    @myGPTReader https://en.wikipedia.org/wiki/Artificial_intelligence
    

    Expect the bot to return a summarized version of the page content within a few seconds.

  4. Check your terminal or server logs for any error output:

    tail -f nohup.out   # if running with nohup
    

Troubleshooting

| Problem | Likely cause | Fix | |---------|-------------|-----| | Bot does not respond in Slack | Socket Mode is not enabled or SLACK_APP_TOKEN is missing/incorrect | Go to Slack app settings → Socket Mode and enable it; verify your SLACK_APP_TOKEN in .env | | openai.AuthenticationError in logs | OPENAI_API_KEY is invalid or not set | Double-check the key in .env matches the one at platform.openai.com/api-keys; ensure there are no extra spaces | | Bot joins the channel but returns no summary | The URL may be behind a paywall or bot lacks internet access | Test with a publicly accessible URL; confirm your server has outbound HTTP access | | ModuleNotFoundError on startup | Dependencies not installed or wrong Python environment is active | Run pip install -r requirements.txt inside the activated virtual environment | | Voice feature not working | Missing third-party speech service credentials (e.g., Azure) | Check the project README for voice-specific environment variables and API key setup |

Sign in to leave feedback on this guide.

Language
Python
License
MIT
Author
myreader-io
Stars
4418
Source
github-awesome
Added
5/26/2026
Found something off? Email meow@cheesyboy.dev and we'll update the entry.