Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Added some instructions to the README
  • Loading branch information
RyanConnell authored Dec 31, 2023
1 parent a59a6b3 commit 65ae74f
Showing 1 changed file with 56 additions and 9 deletions.
65 changes: 56 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,57 @@
ConcertWatch
Concert-Watcher
===
Searching through the ticketmaster website manually is an absolute pain, so instead
this script will query the ticketmaster API for a list of nearby concerts and then
compare the artists with a list of artists I want to be notified about.

Long-term I would like to add some of the following features:
- Generate the list of artists from youtube channels an acount is subscribed to.
- Generate the list of artists based on songs that a Youtube channel has liked.
- Diff mode that only sends notifications based on events we haven't yet seen.
Searching through the ticketmaster website manually is an absolute pain. Instead of that this script will query the ticketmaster API for a list of nearby concerts and then compare the artists with a list of artists _you_ want to be notified about.

Notifications can then be sent via Discord to keep you updated on any new concerts that you might be interested in.

<img src="./.github/docs/discord-notification.png">

## Getting Start
Theres a few things you'll need to set up before running this script.

### 1. Ticketmaster API Token
You'll need to create a new Ticketmaster API token on [developer.ticketmaster.com](https://developer.ticketmaster.com)

### 2. Artists file
A file containing a list of artists (1 per line) that you want to be notified about will need to created and passed to the application via the `--artistFile` flag.

An example artist file might look something like the following:
```
Bad Omens
Bleed From Within
Bring Me The Horizon
Bury Tomorrow
```

In the future I would like to provide support for scraping Youtube Music and/or Spotify for a list of artists but as of right now this needs to be manually populated. (Some copy/pasting and a few sed commands will likely do the trick here to quickly get this generated)

### 3. Customise the Ticketmaster Search Criteria
Ticketmaster covers a _lot_ of events and regions so to help reduce the search space we can make use of a YAML file that provides extra query parameters to our API calls.

An example YAML file can be found in [./helm/files/ticketmaster.yaml](https://github.com/RyanConnell/concert-watch/blob/main/helm/files/ticketmaster.yaml). As an example, the following criteria will filter our results to show concerts taking place anywhere in Ireland:
```yaml
# Filter results to Ireland.
countryCode: IE

# Filter results to concerts.
classificationName: music
```
Check out https://developer.ticketmaster.com/products-and-docs/apis/discovery-api/v2/#search-events-v2 for a full list of supported filters.
### 4. (Optional) Discord Notifications
The current notification mechanism is via Discord Webhooks. Check out the official discord support page for information on how to create a webhook for your discord server: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
## Running the application
### Docker
Assuming that you have placed your ticketmaster YAML and your artists file in a folder called `/path/to/config` we can run the following:
```
docker run --rm -it \
-v /path/to/config:/config:Z \
-e TICKETMASTER_API_KEY=ticketmaster_api_key_goes_here \
-e DISCORD_WEBHOOK_URL=discord_webhook_url_goes_here \
ryanconnell/concert-watch:latest \
sh -c '/bin/concert-watch --apiKey=$TICKETMASTER_API_KEY --artistFile=/config/artists --ticketmasterConfig=/config/ticketmaster.yaml --discordWebhookURL=$DISCORD_WEBHOOK_URL'
```
Don't forget to replace the `ticketmaster_api_key_goes_here` and `discord_webhook_url_goes_here` with the values you generated in the above sections.

0 comments on commit 65ae74f

Please sign in to comment.