Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 1.46 KB

README.md

File metadata and controls

34 lines (27 loc) · 1.46 KB

loggerbot

A Slack bot with embedded web server for logging incidents from Slack.

Below the hood

Based on Slacks own Slack Client for Python. Install with "pip install slackclient". Also uses Python Flask Webserver, install with "pip install Flask"

The logs

The logs are saved in flatfile JSON files in the folder "json".

First time slack-app and docker setup

  1. Create a new slack app at: api.slack.com/apps

    1. Create new app and add to local/developer workspace
    2. Enable bot user under "Features > Bot users"
    3. Install App under "Settings > Install App"
    4. Make a note of your "Bot User OAuth Access Token" (xoxb-...)
  2. Create and populate .env (or set variables in the runtime environment)

    1. SLACK_ID; Your "Bot User OAuth Access Token"
    2. BOT_ID; Not your bot user user, but a unique id returned by slack. Leave blank to try to autodetect
    3. WEB_URL; The public/private url to your web server (only used in "click here to read log" messages)
    4. API_URL
    5. APP_KEY
    6. AUTH_EN; Enable or disable Wannabe credentials login
    7. SECRET_KEY; Something completely random, change this to invalidate all existing sessions
  3. Start container instance on your platform of choice

    Just build the container

    docker build . --tag 'loggy'

    ... or start non-persistent local container instance (bot will still be able to talk to the slack RTM API)

    cp example.docker-compose.yml docker-compose.yml docker-compose up