https://github.com/miharekar/slacker
HomePod + Raspberry Pi + Crystal+ Slack = Magic
https://github.com/miharekar/slacker
crystal crystal-language homebridge homepod raspberry-pi siri slack
Last synced: 24 days ago
JSON representation
HomePod + Raspberry Pi + Crystal+ Slack = Magic
- Host: GitHub
- URL: https://github.com/miharekar/slacker
- Owner: miharekar
- License: mit
- Created: 2018-03-17T08:38:13.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-12-16T12:52:12.000Z (over 4 years ago)
- Last Synced: 2025-04-01T04:41:28.451Z (2 months ago)
- Topics: crystal, crystal-language, homebridge, homepod, raspberry-pi, siri, slack
- Language: Crystal
- Size: 22.5 KB
- Stars: 10
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# slack
A simple utility to turn Slack's snooze mode on and off e.g. when you go into a meeting.
With the server running you can teach Siri on your HomePod/iPhone to change your Slack status like this (click for video demo):
[](https://twitter.com/mr_foto/status/974351952825016320/video/1)
## Installation
You'll need `secrets.yml` file with Slack's [legacy token](https://api.slack.com/custom-integrations/legacy-tokens). It needs to have this structure:
```
slack:
token: your-token-goes-here
```You'll also need to install [Crystal](https://crystal-lang.org/). It's trivial to do on a [modern computer](https://crystal-lang.org/docs/installation/).
On a Raspberry Pi you have to install a semi-official build via [Portalier](http://public.portalier.com/raspbian/).
## Usage
### On a modern computer
1. `shards install`
2. `crystal run server.cr`
3. http://localhost:6789/### On a Raspberry Pi
1. `shards install`
2. `crystal build -p server.cr`
3. `./server`
4. http://raspberrypi.local:6789/| Normal | Snoozed |
|--------------------------------------------------|---------------------------------------------------|
|  |  |## Usage with Homebridge
You'll need:
- [homebridge](https://github.com/nfarina/homebridge)
- [homebridge-http](https://github.com/rudders/homebridge-http)
- Both `homebridge` and `server` running in the background via `systemd`
- Homebridge config along these lines:```
"accessories":[
{
"accessory": "Http",
"name": "Slack",
"switchHandling": "yes",
"http_method": "GET",
"on_url": "http://127.0.0.1:6789/api/on",
"off_url": "http://127.0.0.1:6789/api/off",
"status_url": "http://127.0.0.1:6789/api/status",
"service": "Switch"
}
],
```## Contributing
Feel free to fork and customize with your own API calls: https://api.slack.com/methods