dunglas / stack2slack

A Slack bot to monitor StackOverflow/StackExchange tags

Home Page:https://dunglas.fr/2017/10/stack2slack-a-slack-bot-written-in-go-to-monitor-stackoverflow-tags/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stack to Slack

This Slack bot monitors StackExchange tags and automatically publishes new questions in configured Slack channels.

It has been initially created to post all questions related to the API Platform framework in a dedicated channel of the Slack of Les-Tilleuls.coop (the company behind the framework).

Go Report Card Build Status Docker Automated build

Installing

  1. Register a new Slack bot and grab the generated API token
  2. Download and extract the binary corresponding to your platform
  3. Start the daemon: DEBUG=1 SLACK_API_TOKEN=<your-API-token> TAG_TO_CHANNEL='{"stackoverflow-tag": "slack-channel"}' ./stack2slack
  4. Finally, invite the bot in channels it will post: /invite @bot-name

Alternatively, you can use the official Docker image instead of downloading a binary: docker run -e DEBUG=1 -e SLACK_API_TOKEN=<your-API-token> -e TAG_TO_CHANNEL='{"stackoverflow-tag": "slack-channel"}' dunglas/stack2slack

If you use a Kubernetes (e.g. a Google Container Engine cluster), you can install Stack 2 Slack very easily with the Helm package manager:

  1. Clone this repository: git clone git@github.com:dunglas/stack2slack.git

  2. Install the provided chart:

    helm install
    --set slackApiToken=
    --set tagToChannel.stackExchangeTag=slackChannel
    ./chart/stack2slack

Building from Sources

This bot is written in Go (golang), you need a proper install of it to compile the sources.

  1. Clone this repository: git clone https://github.com/dunglas/stack2slack.git
  2. Get the dependencies go get
  3. Compile the app: go build

Credits

Written by Kévin Dunglas. Sponsored by Les-Tilleuls.coop.

About

A Slack bot to monitor StackOverflow/StackExchange tags

https://dunglas.fr/2017/10/stack2slack-a-slack-bot-written-in-go-to-monitor-stackoverflow-tags/

License:MIT License


Languages

Language:Go 87.0%Language:Smarty 13.0%