It also utilizes the pynzbget I wrote which simplifies NZBGet script development.
Notify NZBGet Script Details
Author: Chris Caron <email@example.com>
Current Version: 0.6.1
Release Date: Jul 9th, 2017
Source: GitHub / Direct Download Link
- Jul 9th, 2017 Update (v0.6.1):
- Small bug fix for MatterMost Notifications users.
- Inline Configuration Check (users can test their settings now right from the NZB-Get configuration page)!
- Jul 5th, 2017 Update (v0.6.0):
- Jan 23rd, 2017 Update (v0.5.6):
Minor release just applying a few outstanding bug fixes.
- Sep 20th, 2016 Update (v0.5.5):
Minor release adding:
- Aug 5th, 2016 Update (v0.5.0):
New release which adds 2 new notification services
- July 19th, 2016 Update (v0.4.0): Minor release that just added support for SABnzbd.
- mailto:// - Send a Email Notification to an SMTP Server
- mailtos:// - Send a (TLS Secured) Email Notification to an SMTP Server
- xbmc:// or kodi:// - KODI (XBMC) Notifications
- pbul:// - PushBullet Notifications
- growl:// - Growl Notifications
- prowl:// - Prowl Notifications
- pover:// - Pushover Notifications
- toasty:// - Toasty Notifications
- palot:// - Pushalot Notifications
- nma:// - Notify My Android Notifications
- boxcar:// - Boxcar Notifications
- boxcars:// - (SSL Secured) Boxcar Notifications
- faast:// - Faast Notifications
- json:// - A simple HTTP request containing notification in JSON data
- jsons:// - A simple (SSL Secured) HTTP request containing notification in JSON data
- xml:// - A simple HTTP request containing notification in XML data (SOAP formatted)
- xmls:// - A simple (SSL Secured) HTTP request containing notification in XML data (SOAP formatted)
- slack:// - Slack Notifications
- join:// - Join Notifications
- tgram:// - Telegram Notifications
- mmost:// - MatterMost (Insecure) Notifications
- mmosts:// - MatterMost (Secure) Notifications
- your_idea:// Got a suggestion?
It's pretty simple, you just use space and/or comma to delimit your servers you want to notify. Specify as many as you want and have as many notifications sent as you need.
The syntax works as follows:
Here are a few things it can do:
- Supports listing the downloaded files, displaying statistics, and/or displaying the log entries.
- Can act as a Queue-Script and notify you when something was just added to the queue.
- You can specify as many Push Notification servers as you want.
- Notification services that support HTML content can be notified as such.
- Notification services that support graphic images can display a fancy red (failure), green (success), or blue (info) image to enhance the user experience.
For Boxcar users, you just need to decide if you're accessing an insecure (boxcar://) or secure (boxcars://) server. Then you can optionally specify aliases, device tokens and/or tags on the path using the slash as a delimiter. You can mix and match them too, the script will look after notifying them for you.
For Faast users, you need an authtoken... and that's it:
Notify My Android Users
For Notify My Android users, you need an apikey... and that's it:
Emails are new as of version 0.2.0 and are a little more complicated since they require a lot of extra details. The script has built in support for mainstream services (such as GMail, Hotmail, and Yahoo). This can be easily expanded too! The below show examples of these services. The script is smart enough to take the userid and domain and know the security settings, port, and to combine firstname.lastname@example.org for the login.
Emails are all delivered in an HTML format for presentation purposes. They can be reverted to text by specifying format=text as a parameter passed on URL.
Note: For GMail, you may need to generate an App Password if you're set up using the 2 Step Verification Process.
For more custom emails, the script gets more complicated. It's up to you if maybe just using HugBug's standalone Email plugin (which is shipped with NZBGet) as an easier solution. First off, secure vs insecure emails are defined by mailto:// (port 25) and mailtos:// (port 587) where mailtos:// will enable TLS prior to sending the user and password.
If you need to over-ride the SMTP Port, you can do so like this:
Also, it's It's important to note that if your username is an email address, you need to specify it as a user= parameter after:
There are lots of options supported too:
For PushBullet users, you need an apitoken to access your devices. The following will access them all:
If you want to target specific PushBullet device(s), channel(s), and/or email(s), just specify them on the path using the slash as a delimiter. You can mix and match them too, the script will look after notifying them for you.
For Growl users, you can optionally specify a password or just identify the growl server. The following illustrates this:
Older Growl servers running v1.x may need to specify the version to 1 to get it working; ie:
In order for Growl to run; each client that sends messages to it needs to register itself with the Growl server. Make sure that you've configured your server to allow registration. In addition to this; make sure that after this Notify tool registers itself with it; that you grant it access to pass the notifications along.
For Prowl users, you need an apikey to access your devices. The following will access them all:
If you need to specify your provider key, you can add it to the URL as follows:
The following can query a pushalot server:
You'll need to provide both your token and userid which can be done using this format. To access all devices just do the following:
If you want to target a specific (or more then one) device only, you can do the following:
Telegram Notification Users
Telegram is for the most part straight forward to set up. You need to create an account and generate a bot (through the /@BotFather). He'll give you an APIkey you can use the interface with your bot. The API key will look something like this: 123456789:1AbCdEfG2hIjKlMnO3-pQrStU4_vWxYz.
With this info, you can now start messaging the bot with the URL:
This will work too:
You can send to more then one userid or channel by either its ID (numeric) or it's name (alphanumeric). The script will figure out what you meant and send the message as intended.
Feel free to mix and match as many as you want:
Slack Notification Users
To use this plugin, you need to first access https://api.slack.com; specifically https://my.slack.com/services/new/incoming-webhook/ to create a new incoming webhook for your account. You'll need to follow the wizard to pre-determine the channel(s) you want your message to broadcast to, and when you're complete, you will receive a URL that looks something like this:
Consider this Key:
You can break these down as follows:
- TokenA: T1JJ3T3L2
- TokenB: A1BRTD4JD
- TokenC: TIiajkdnlazkcOXrIdevi7F
MatterMost Notification Users
To use this plugin, you need to first set yourself up with http://mattermost.com. Download their software and set it up. The setup is based on Incoming Web Hooks requiring you to generate your own WebHook ID. The default port is 8065 unless otherwise specified. Knowing this, you can assemble your urls as so:
Join Notification Users
To use this plugin, you need to first access (make sure your browser allows popups): https://joinjoaomgcd.appspot.com/
To register you just need to allow it to connect to your Google Profile but the good news is it doesn't ask for anything too personal.
You can download the app for your (Android) phone here: https://play.google.com/store/apps/deta ... omgcd.join
From here, you're good to go :
(Super) Toasty Users
You MUST specify at a user and at a least 1 device for this to work:
You can specify more then one device too:
Most of my testing is done using the Command Line Interface I attached to it. For example a simple entry like this could send 'Hello World' to your XBMC server:
Code: Select all
python Notify.py -s xbmc://192.168.0.2 -t "Hello" -b "World!"
Code: Select all
Usage: Notify.py [options] Options: -h, --help show this help message and exit -s URL(s), --servers=URL(s) Specify 1 or more servers in their URL format ie: growl://mypass@localhost -t TITLE, --title=TITLE Specify the title of the notification message. -b BODY, --body=BODY Specify the body of the notification message. -i, --include_image Include image in message if the protocol supports it. -L FILE, --logfile=FILE Send output to the specified logfile instead of stdout. -D, --debug Debug Mode