1APPRISE(1)                  General Commands Manual                 APPRISE(1)
2
3
4

NAME

6       apprise - Push Notifications that work with just about every platform!
7

SYNOPSIS

9       apprise [options...] service-url...
10

DESCRIPTION

12       Apprise  allows  you  to  send a notification to almost all of the most
13       popular notification services available to us today such  as:  Discord,
14       Telegram, Pushbullet, Slack, Twitter, etc.
15
16       ○   One notification library to rule them all.
17
18       ○   A common and intuitive notification syntax.
19
20       ○   Supports  the handling of images (to the notification services that
21           will accept them).
22
23
24

OPTIONS

26       The Apprise options are as follows:
27
28       -b, --body=TEXT: Specify the message body. If no body is specified then
29       content is read from stdin.
30
31       -t, --title=TEXT: Specify the message title. This field is complete op‐
32       tional.
33
34       -c, --config=CONFIG-URL: Specify one or more configuration locations.
35
36       -a, --attach=ATTACH-URL: Specify one or more file attachment locations.
37
38       -P, --plugin-path=PLUGIN-PATH: Specify a path to scan for custom  noti‐
39       fication plugin support. You can create your own notification by simply
40       creating a Python file that contains the @notify("schema") decorator.
41
42       You can optioanly chose to specify more then one --plugin-path (-P)  to
43       increase the modules included.
44
45       -n,  --notification-type=TYPE: Specify the message type (default=info).
46       Possible values are "info", "success", "failure", and "warning".
47
48       -i,  --input-format=FORMAT:  Specify  the  input  message  format  (de‐
49       fault=text). Possible values are "text", "html", and "markdown".
50
51       -T, --theme=THEME: Specify the default theme.
52
53       -g, --tag=TAG: Specify one or more tags to filter which services to no‐
54       tify. Use multiple --tag (-g) entries to OR the tags together and comma
55       separated  to  AND them. If no tags are specified then all services are
56       notified.
57
58       -Da, --disable-async: Send notifications synchronously (one  after  the
59       other) instead of all at once.
60
61       -R,  --recursion-depth:  he number of recursive import entries that can
62       be loaded from within Apprise configuration. By default this is set  to
63       1. If this is set to zero, then import statements found in any configu‐
64       ration is ignored.
65
66       -e, --interpret-escapes Enable interpretation of backslash escapes. For
67       example,  this  would  convert sequences such as \n and \r to their re‐
68       spected ascii new-line and carriage
69
70       -d, --dry-run: Perform a trial run but  only  prints  the  notification
71       services  to-be triggered to stdout. Notifications are never sent using
72       this mode.
73
74       return characters prior to the delivery of the notification.
75
76       -l, --details Prints details about the current  services  supported  by
77       Apprise.
78
79       -v, --verbose: The more of these you specify, the more verbose the out‐
80       put is. e.g: -vvvv
81
82       -D, --debug: A debug mode; useful for troubleshooting.
83
84       -V, --version: Display the apprise version and exit.
85
86       -h, --help: Show this message and exit.
87

EXIT STATUS

89       apprise exits with a status of:
90
910 if all of the notifications were sent successfully.
92
931 if one or more notifications could not be sent.
94
952 if there was an error specified on the command line such  as  not
96           providing an valid argument.
97
983 if there was one or more Apprise Service URLs successfully loaded
99           but none could be notified due to user filtering (via tags).
100
101
102

SERVICE URLS

104       There are to many service URL and combinations to list here. It´s  best
105       to   visit   the   Apprise  GitHub  page  https://github.com/caronc/ap
106       prise/wiki#notification-services and see what´s available.
107

EXAMPLES

109       Send a notification to as many servers as you want to  specify  as  you
110       can easily chain them together:
111
112
113           $ apprise -vv -t "my title" -b "my notification body" \
114              "mailto://myemail:mypass@gmail.com" \
115              "pbul://o.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b"
116
117
118
119       If  you  don´t specify a --body (-b) then stdin is used allowing you to
120       use the tool as part of your every day administration:
121
122
123           $ cat /proc/cpuinfo | apprise -vv -t "cpu info" \
124               "mailto://myemail:mypass@gmail.com"
125
126
127
128       Load in a configuration file which identifies all of your  notification
129       service URLs and notify them all:
130
131
132           $ apprise -vv -t "my title" -b "my notification body" \
133              --config=~/apprise.yml
134
135
136
137       Load  in  a configuration file from a remote server that identifies all
138       of your notification service URLs and only notify the  ones  tagged  as
139       devops.
140
141
142           $ apprise -vv -t "my title" -b "my notification body" \
143              --config=https://localhost/my/apprise/config \
144              -t devops
145
146
147
148       Include an attachment:
149
150
151           $ apprise -vv -t "School Assignment" -b "See attached" \
152              --attach=Documents/FinalReport.docx
153
154
155

CUSTOM PLUGIN/NOTIFICATIONS

157       Apprise  can additionally allow you to define your own custom schema://
158       entries that you can trigger on and call services you´ve defined.
159
160       By default apprise looks in the following local  locations  for  custom
161       plugin files and loads them:
162
163
164           ~/.apprise/plugins
165           ~/.config/apprise/plugins
166
167
168
169       Simply create your own python file with the following bare minimum con‐
170       tent in it: from apprise.decorators import notify
171
172
173           # This example assumes you want your function to trigger on foobar://
174           # references:
175           @notify(on="foobar", name="My Custom Notification")
176           def my_wrapper(body, title, notify_type, *args, **kwargs):
177
178                <define your custom code here>
179
180                     # Returning True/False is a way to relay your status back to Apprise.
181                     # Returning nothing (None by default) is always interpreted as a Success
182                return True
183
184
185

CONFIGURATION

187       A configuration file can be in the format of either TEXT or YAML  where
188       [TEXT][textconfig]  is  the  easiest  and  most ideal solution for most
189       users. However YAML  https://github.com/caronc/apprise/wiki/config_yaml
190       configuration  files  grants the user a bit more leverage and access to
191       some of the internal features of Apprise. Reguardless of  which  format
192       you  choose,  both  provide  the  users the ability to leverage tagging
193       which adds a more rich and powerful notification environment.
194
195       Configuration files can be directly referenced via apprise when  refer‐
196       encing  the  --config=  (-c) CLI directive. You can identify as many as
197       you like on the command line and all of them will be  loaded.  You  can
198       also  point  your  configuration  to  a  cloud location (by referencing
199       http:// or https://. By default apprise looks in  the  following  local
200       locations for configuration files and loads them:
201
202
203           ~/.apprise
204           ~/.apprise.yml
205           ~/.config/apprise
206           ~/.config/apprise.yml
207
208           ~/.apprise/apprise
209           ~/.apprise/apprise.yaml
210           ~/.config/apprise/apprise
211           ~/.config/apprise/apprise.yaml
212
213
214
215       If a default configuration file is referenced in any way by the apprise
216       tool, you no longer need to provide it a Service URL. Usage of the  ap‐
217       prise tool simplifies to:
218
219
220           $ apprise -vv -t "my title" -b "my notification body"
221
222
223
224       If you leveraged tagging https://github.com/caronc/apprise/wiki/CLI_Us
225       age#label-leverage-tagging, you can define all of Apprise Service  URLs
226       in your configuration that you want and only specifically notify a sub‐
227       set of them:
228
229
230           $ apprise -vv -t "Will Be Late" -b "Go ahead and make dinner without me" \
231                     --tag=family
232
233
234

BUGS

236       If   you   find   any   bugs,    please    make    them    known    at:
237       https://github.com/caronc/apprise/issues
238
240       Apprise is Copyright (C) 2021 Chris Caron lead2gold@gmail.com
241
242
243
244                                   July 2022                        APPRISE(1)
Impressum