Node.js cli tool for monitoring your favorite TooGoodToGo businesses. Notifications are shown when the stock of any of the businesses changes. The following notification types are supported:
- Desktop notification
- Console output
- Telegram chat message
- Install Node.js 8.x or higher (Windows | Linux | OSx).
npm install -g toogoodtogo-watcher
toogoodtogo-watcher config
. Fill in your TooGoodToGo account details. Optionally enable / disable certain notifications. See Configuring Telegram notifiations for instructions on setting up the Telegram notifications.toogoodtogo-watcher watch
Usage: toogoodtogo-watcher <command>
Commands:
config Edit the config file.
config-reset Reset the config to the default values.
config-path Show the path of the config file.
watch Watch your favourite busininesses for changes.
Options:
--help Show help [boolean]
--version Show version number [boolean]
By default Windows doesn't display the notifications in the notification center. You can enable this by doing the following steps.
- Go to 'notifications & actions settings' (
Windows key
, type 'notifications',enter
) - Click on the 'toast' app at the bottom of the screen.
- Enable the 'show in action center' checkbox.
- Open a Telegram chat with
BotFather
. - Follow the instructions to create your own bot.
- Copy the token and enter it in the configuration via
toogoodtogo-watcher config
, and setenabled
totrue
. - Start the application
toogoodtogo-watcher watch
- Click the
t.me/BOTNAME
link from theBotFather
chat message. - Press
BEGIN
. - Your bot should greet you, and show a notification about your favorites. Note: the bot will show the favorites which you configured. Multiple people can connect to the bot to get updates about these favorites.
- Go to https://ifttt.com/create/
- Click on
this
and select Webhooks - Fill in an Event Name (e.g.
too_good_to_go_updated
) - Click on
that
- Select anything you'd like to integrate with (e.g. Philips Hue)
- Finish setting it up
- Update the
ifttt
configuration viatoogoodtogo-watcher config
:- set
enabled
totrue
- set
webhookKey
to the token found at Web Hook settings (last part of the URL) - add the Event Name selected in step 3 to the
webhookEvents
array
- set
Note: You can add multiple events to webhookEvents
Create a directory config
and copy the config.defaults.json to config/config.json
. See above for instructions on how to configure the application.
docker run \
--name toogoodtogo-watcher \
-v /full/path/to/config:/home/node/.config/toogoodtogo-watcher-nodejs \
marklagendijk/toogoodtogo-watcher`
docker-compose.yaml
:
version: "3"
services:
toogoodtogo-watcher:
image: marklagendijk/toogoodtogo-watcher
restart: unless-stopped
volumes:
- ./config:/home/node/.config/toogoodtogo-watcher-nodejs
The Docker images of the tool are automatically build via Docker Hub. Unfortunately it is currently either impossible or very hard to automatically build multi-arch Docker images via Docker Hub. Because of this the the tool is only build for the linux/amd64
architecture.
To still be able to run the tool on a Raspberry Pi, we can use the node
image instead, and install the tool on startup:
docker-compose.yml
:
version: "3"
services:
toogoodtogo-watcher:
image: node:lts
restart: unless-stopped
working_dir: /home/node
environment:
- NODE_ENV=production
volumes:
- ./config:/home/node/.config/toogoodtogo-watcher-nodejs
command: bash -c "npm install --no-save --no-package-lock toogoodtogo-watcher && ./node_modules/.bin/toogoodtogo-watcher watch"