Simple node.js daemon dumping Slack messages to Elasticsearch, aka "slack message archive for poor people".
To not appear as online all the time (without waiting for the auto-away idle timeout of 30 minutes), the daemon manually sets the user to "away" when no other client is connected for this same user.
SLACK_API_TOKEN="YOUR-TOKEN" ELASTICSEARCH_HOST="HOST:PORT" npm start
Check docker-compose.yml to setup the complete stack using docker, there's also a ready built public docker image maetthu/slack-elasticorder for the node part.
Also check the ansible playbook for a way to deploy with ansible. The API token can be supplied as
ansible-playbook -e SLACK_API_TOKEN=YOUR-TOKEN slack-elasticorder.yml
The messages are dumped into Elasticsearch as returned from the Slack API and do not contain file attachments, just URL references to the files on Slack. Attachments are not (yet) archived locally.
This project is licensed under The Unlicense.