https://github.com/67p/hubot-web-push-notifications
https://github.com/67p/hubot-web-push-notifications
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/67p/hubot-web-push-notifications
- Owner: 67P
- Created: 2018-04-22T14:44:14.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-06-14T11:29:05.000Z (almost 8 years ago)
- Last Synced: 2025-06-07T01:01:42.086Z (12 months ago)
- Language: JavaScript
- Size: 29.3 KB
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hubot Web Push Notifications
This Hubot script allows your users to subscribe to Web Push notifications from
a Web client/frontend, and then receive notifications, when someone mentions
their name while they're away.
It is part of the [Kosmos](https://kosmos.org) project and has been created for
usage with the [Hyperchannel](https://github.com/67P/hyperchannel/) Web client
and other related programs.
## Setup
_Caveat: as Hubot's user management is somewhat broken at the moment, this is
currently only implemented for the IRC adapter. Also, you need the following
commit for the adapter to expose channel attendance data:
https://github.com/67P/hubot-irc/commit/af2d43c46364702e04129c7ec5cf25231f6d40a0_
### 1. In your Hubot
Install the script package:
npm i --save hubot-web-push-notifications
Add it to `external-scripts.json`:
```json
[
"hubot-redis-brain",
"hubot-web-push-notifications"
]
```
_Hint: You should persist the robot's brain using something like
[hubot-redis-brain](https://github.com/hubotio/hubot-redis-brain)._
### 2. In your Web client/front-end
You can check out a working demo client in the `demo/` directory, and copy all
necessary code from there. Start it from this repo's root using:
npm run demo-client
## Configuration
As usual, config options are set via environment variables.
| Key | Description |
| --- | --- |
| `GCM_API_KEY` | Google Cloud Messaging API key |
| `VAPID_SUBJECT` | VAPID subject (mailto address or URL) |
| `VAPID_PUBLIC_KEY` | URL-safe base64-encoded public key |
| `VAPID_PRIVATE_KEY` | URL-safe base64-encoded private key |
You can generate the VAPID keys using:
npm run generate-vapid-keys
## Questions, support, high fives
Join us in #kosmos-dev on Freenode IRC, or open an issue on GitHub.