Data Overflow
Introduction
Section titled “Introduction”Out of the box, Apprise passes the full message (and title) you provide right along to the notification source(s). Some sources can handle a large surplus of data while others might not. These limitations are documented (to the best of my knowledge) on each of the individual services corresponding wiki pages.
However if you don’t want to be bothered with upstream restrictions, Apprise has a somewhat elegant way of handling these kinds of situations that you can leverage. You simply need to tack on the overflow parameter somewhere in your Apprise URL; for example:
schema://path/?overflow=splitschema://path/?overflow=truncateschema://path/?overflow=upstreamschema://path/?other=options&more=settings&overflow=split
The possible overflow= options are defined as:
| Variable | Description |
|---|---|
| split | This will break the message body into as many smaller chunks as it takes to ensure the full delivery of what you wanted to notify with. The smaller chunk sizes are based on the very restrictions put out by the notification service itself. For example, Twitter restricts public tweets to 280 characters. If your Apprise/Twitter URL was updated to look like this: twitter://<auth data>/?overflow=split, A message of say 1000 characters would be broken (and sent) via 4 smaller messages (280 + 280 + 280 + 160). |
| truncate | This just ensures that regardless of how much content you’re passing along to a remote notification service, the contents will never exceed the restrictions set by the service itself. Take our Twitter example again (which restricts public tweets to 280 characters), If your Apprise/Twitter URL was updated to look like this: twitter://<auth data>/?overflow=truncate, A message of say 1000 characters would only send the first 280 characters to it. The rest would just be truncated and ignored. |
| upstream | Simply let the the upstream notification service handle all of the data passed to it (large or small). Apprise will not mangle/change it’s content in any way. Note: This is the default configuration option used when the overflow= directive is not set. |