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           /var/lib/apprise/plugins
167
168
169
170       Simply create your own python file with the following bare minimum con‐
171       tent in it: from apprise.decorators import notify
172
173
174           # This example assumes you want your function to trigger on foobar://
175           # references:
176           @notify(on="foobar", name="My Custom Notification")
177           def my_wrapper(body, title, notify_type, *args, **kwargs):
178
179                <define your custom code here>
180
181                     # Returning True/False is a way to relay your status back to Apprise.
182                     # Returning nothing (None by default) is always interpreted as a Success
183                return True
184
185
186

CONFIGURATION

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

BUGS

242       If   you   find   any   bugs,    please    make    them    known    at:
243       https://github.com/caronc/apprise/issues
244
246       Apprise is Copyright (C) 2023 Chris Caron lead2gold@gmail.com
247
248
249
250                                   May 2023                         APPRISE(1)
Impressum