advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
6.69k stars 472 forks source link

[Enhancement]: Add notifications for Podcast downloads #996

Closed SAS-1 closed 2 years ago

SAS-1 commented 2 years ago

Describe the feature/enhancement

Hi

It would be good to have notifications when ABS downloads a podcast so we know there is a new episode available.

This could be done by adding an option for people to use something like Apprise (https://github.com/caronc/apprise) I would be happy with a solution like NZBHydra (https://github.com/theotherp/nzbhydra2/) uses that you need to provide an Apprise API to use and it's not included in the app itself just a page to control the notifications.

Thanks

advplyr commented 2 years ago

We've discussed this a few times in the discord server. Apprise has been mentioned a few times so I just tried it out.

The way I was thinking of using it before is exactly how nzbhydra implemented it. I haven't run nzbhydra so I'm still curious how they are getting the apprise api info. Any chance you can send me a screenshot of the config page for apprise in nzbhydra?

SAS-1 commented 2 years ago

No worries 2 shots below in the first one the blanked out bit is the apprise URL in the format of http://IP/notify the second one is the URLs to notify that are configured in Apprise

the third one is the options you can select for notifications

image image image

advplyr commented 2 years ago

There have been other requests to have notifications for when books are added and I'm trying to think this through before building out the notification system.

I'm going to dump my thoughts on notification events here since we don't have another discussion for this.

'Library item added' notification

This would include an additional dropdown to select which library you want this notification to apply to. It can be a book or podcast library so for podcasts this would be triggered when you add a new podcast.

The problem with this is sometimes you may scan in a hundred new library items and obviously we don't want to send 100 notifications. We will need to send a notification that can say something like "X books have been added to Y library" and the message body would list each new book title (or "X podcasts have been added..").

If we go that route then I don't think we would be able to allow changing the title and body template. It would basically be 2 templates for this notification; one for a single item added and one for multiple items added. That would be complicated to build in the UI and confusing to the user but it may also be confusing as to why they can't edit this template.

'Podcast episode downloaded' notification

I think this should also have you select the podcast library this would apply to.

The important thing to note for this is that it only fires when the auto-downloader downloads an episode and not when you manually download an episode. If we only trigger this when the auto-downloader downloads then we could have the title & body template be editable. The template would have available variables like "episode_title", "podcast_title", "library_name", "episode_pub_date", etc.

'Failed auth attempts reached limit' notification

I'm not sure what to call this one but "Auth failure" as used in NZBHydra may not be specific enough.

If we sent a notification every time someone mistyped their password then that seems overkill.

Instead we could have the notification fire after X failed login attempts. Currently the auth is setup to lock login attempts for 10 minutes after 10 failed attempts, but we can make this an adjustable server setting.

'New version available' notification

Self-explanatory. We can include template variables for version and release notes probably.

'Backup failed/Podcast auto-download failed' notification

These could be 2 separate notifications or we could group them since they both have to do with automated tasks failing ("Automated task failed").

advplyr commented 2 years ago

Added in v2.2.0

macr0dev commented 1 year ago

Sorry to comment on a closed issue, but I didn't want to open a new one if this was already being covered somewhere.

I sleep lots of roadmapping and notes for other notification templates, but only the podcast one seems to have made it into the server. Is this in a plan somewhere alread, or did some of it just not pan out? Or perhaps it's already built in a way I don't understand that allows me to do these other notifications (Library item added, new version notification, etc) and I'm just being dense? (which is admittedly a strong possibility, lol)

advplyr commented 1 year ago

The system has been set up but there hasn't been requests for the other notifications I had considered adding so I held off on putting more time into it. Which notifications in particular are you interested in?

macr0dev commented 1 year ago

Specifically the new library item. I automate books being added from my audible account using libation and it would be awesome to be able to notify the friends that stream and download from my abs server when a new book gets added. Not to mention not needing to go in and verify myself on new release day.