mirror of https://github.com/caronc/apprise
Chris Caron
6 years ago
4 changed files with 6 additions and 219 deletions
@ -1,215 +0,0 @@
|
||||
ap·prise / verb |
||||
To inform or tell (someone). To make one aware of something. |
||||
|
||||
Apprise allows you to send a notification to *almost* all of the most popular notification services available to us today such as: Telegram, Pushbullet, Slack, Twitter, etc. |
||||
|
||||
* One notification library to rule them all. |
||||
* A common and intuitive notification syntax. |
||||
* Supports the handling of images (to the notification services that will accept them). |
||||
|
||||
System owners who wish to provide a notification service no longer need to research each and every new one as they appear. They just need to include this one library and then they can immediately gain access to a wide range of _almost_ all of the notifications services available to us today. |
||||
|
||||
System Administrators who wish to send a notification from a scheduled task or from the command line also no longer need to find the right tool for the job. Everything is already wrapped and supported within the *apprise* script that ships with this product. |
||||
|
||||
Supported Notifications |
||||
======================= |
||||
The section identifies all of the services supported by this script. For more indepth details on how each of these notification services work, check out the wiki here: https://github.com/caronc/apprise/wiki/ |
||||
|
||||
Popular Notification Services |
||||
----------------------------- |
||||
The table below identifies the services this tool supports and some example service urls you need to use in order to take advantage of it. |
||||
* Boxcar |
||||
boxcar://hostname |
||||
boxcar://hostname/@tag |
||||
boxcar://hostname/device_token |
||||
boxcar://hostname/device_token1/device_token2/device_tokenN |
||||
boxcar://hostname/@tag/@tag2/device_token |
||||
|
||||
* Discord |
||||
discord://webhook_id/webhook_token |
||||
discord://avatar@webhook_id/webhook_token |
||||
|
||||
* Emby |
||||
emby://user@hostname/ |
||||
emby://user:password@hostname |
||||
|
||||
* Faast |
||||
faast://authorizationtoken |
||||
|
||||
* Gnome Notifications |
||||
gnome:// |
||||
|
||||
* Growl |
||||
growl://hostname |
||||
growl://hostname:portno |
||||
growl://password@hostname |
||||
growl://password@hostname:port |
||||
|
||||
Note: you can also use the get parameter version which can allow the growl request to behave using the older v1.x protocol. An example would look like: |
||||
growl://hostname?version=1 |
||||
|
||||
* IFTTT |
||||
ifttt://webhooksID/EventToTrigger |
||||
ifttt://webhooksID/EventToTrigger/Value1/Value2/Value3 |
||||
ifttt://webhooksID/EventToTrigger/?Value3=NewEntry&Value2=AnotherValue |
||||
|
||||
* Join |
||||
join://apikey/device |
||||
join://apikey/device1/device2/deviceN/ |
||||
join://apikey/group |
||||
join://apikey/groupA/groupB/groupN |
||||
join://apikey/DeviceA/groupA/groupN/DeviceN/ |
||||
|
||||
* KODI |
||||
kodi://hostname |
||||
kodi://user@hostname |
||||
kodi://user:password@hostname:port |
||||
|
||||
* Matrix |
||||
matrix://token |
||||
matrix://user@token |
||||
matrixs://token?mode=slack |
||||
matrixs://user@token?mode=matrix |
||||
|
||||
* Mattermost |
||||
mmost://hostname/authkey |
||||
mmost://hostname:80/authkey |
||||
mmost://user@hostname:80/authkey |
||||
mmost://hostname/authkey?channel=channel |
||||
mmosts://hostname/authkey |
||||
mmosts://user@hostname/authkey |
||||
|
||||
* Prowl |
||||
prowl://apikey |
||||
prowl://apikey/providerkey |
||||
|
||||
* Pushalot |
||||
palot://authorizationtoken |
||||
|
||||
* PushBullet |
||||
pbul://accesstoken |
||||
pbul://accesstoken/#channel |
||||
pbul://accesstoken/A_DEVICE_ID |
||||
pbul://accesstoken/email@address.com |
||||
pbul://accesstoken/#channel/#channel2/email@address.net/DEVICE |
||||
|
||||
* Pushjet |
||||
pjet://secret |
||||
pjet://secret@hostname |
||||
pjet://secret@hostname:port |
||||
pjets://secret@hostname |
||||
pjets://secret@hostname:port |
||||
|
||||
Note: if no hostname defined https://api.pushjet.io will be used |
||||
|
||||
* Pushover |
||||
pover://user@token |
||||
pover://user@token/DEVICE |
||||
pover://user@token/DEVICE1/DEVICE2/DEVICEN |
||||
|
||||
* Rocket.Chat |
||||
rocket://user:password@hostname/RoomID/Channel |
||||
rockets://user:password@hostname:443/Channel1/Channel1/RoomID |
||||
rocket://user:password@hostname/Channel |
||||
|
||||
* Slack |
||||
slack://TokenA/TokenB/TokenC/Channel |
||||
slack://botname@TokenA/TokenB/TokenC/Channel |
||||
slack://user@TokenA/TokenB/TokenC/Channel1/Channel2/ChannelN |
||||
|
||||
* Stride |
||||
stride://auth_token/cloud_id/convo_id |
||||
|
||||
* Super Toasty |
||||
toasty://user@DEVICE |
||||
toasty://user@DEVICE1/DEVICE2/DEVICEN |
||||
|
||||
* Telegram |
||||
tgram://bottoken/ChatID |
||||
tgram://bottoken/ChatID1/ChatID2/ChatIDN |
||||
|
||||
* Twitter |
||||
tweet://user@CKey/CSecret/AKey/ASecret |
||||
|
||||
* XBMC |
||||
xbmc://hostname |
||||
xbmc://user@hostname |
||||
xbmc://user:password@hostname:port |
||||
|
||||
|
||||
* Windows Notifications |
||||
windows:// |
||||
|
||||
Email Support |
||||
------------- |
||||
* mailto:// |
||||
mailto://userid:pass@domain.commailto://domain.com?user=userid&pass=password |
||||
mailto://domain.com:2525?user=userid&pass=password |
||||
mailto://user@gmail.com&pass=password |
||||
mailto://mySendingUsername:mySendingPassword@example.com?to=receivingAddress@example.com |
||||
mailto://userid:password@example.com?smtp=mail.example.com&from=noreply@example.com&name=no%20reply |
||||
|
||||
* mailtos// |
||||
mailtos://userid:pass@domain.com |
||||
mailtos://domain.com?user=userid&pass=password |
||||
mailtos://domain.com:465?user=userid&pass=passwordmailtos://user@hotmail.com&pass=password |
||||
mailtos://mySendingUsername:mySendingPassword@example.com?to=receivingAddress@example.com |
||||
mailtos://userid:password@example.com?smtp=mail.example.com&from=noreply@example.com&name=no%20reply |
||||
|
||||
Apprise have some email services built right into it (such as yahoo, fastmail, hotmail, gmail, etc) that greatly simplify the mailto:// service. |
||||
|
||||
Custom Notifications |
||||
-------------------- |
||||
* JSON |
||||
json://hostnamejson://user@hostname |
||||
json://user:password@hostname:port |
||||
json://hostname/a/path/to/post/to |
||||
|
||||
* XML |
||||
xml://hostname |
||||
xml://user@hostname |
||||
xml://user:password@hostname:port |
||||
xml://hostname/a/path/to/post/to |
||||
|
||||
Installation |
||||
============ |
||||
The easiest way is to install this package is from pypi: |
||||
pip install apprise |
||||
|
||||
Command Line |
||||
============ |
||||
A small command line tool is also provided with this package called apprise. If you know the server url's you wish to notify, you can simply provide them all on the command line and send your notifications that way: |
||||
|
||||
Send a notification to as many servers as you want to specify as you can easily chain them together: |
||||
apprise -t 'my title' -b 'my notification body' \ |
||||
'mailto://myemail:mypass@gmail.com' \ |
||||
'pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b' |
||||
|
||||
If you don't specify a --body (-b) then stdin is used allowing you to use the tool as part of your every day administration: |
||||
cat /proc/cpuinfo | apprise -t 'cpu info' \ |
||||
'mailto://myemail:mypass@gmail.com' |
||||
|
||||
Developers |
||||
========== |
||||
To send a notification from within your python application, just do the following: |
||||
import apprise |
||||
|
||||
# Create an Apprise instance |
||||
apobj = apprise.Apprise() |
||||
|
||||
# Add all of the notification services by their server url. |
||||
|
||||
# A sample email notification |
||||
apobj.add('mailto://myemail:mypass@gmail.com') |
||||
|
||||
# A sample pushbullet notification |
||||
apobj.add('pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b') |
||||
|
||||
# Then notify these services any time you desire. The below would |
||||
# notify all of the services loaded into our Apprise object. |
||||
apobj.notify( |
||||
title='my notification title', |
||||
body='what a great notification service!', |
||||
) |
||||
|
||||
If you're interested in reading more about this and methods on how to customize your own notifications, please check out the wiki at https://github.com/caronc/apprise/wiki/Development_API |
Loading…
Reference in new issue