npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

minoss-pushover

v0.1.4

Published

Pushover Module for Minoss

Downloads

3

Readme

Pushover for Minoss

GitHub version NPM version Dependency version

This module adds support for Pushover notifications to Minoss server. The API communication is based on pushover-notifications.

Table of Contents


Installation

Inside your Minoss root folder just use npm to install this Module.

$ npm install minoss-pushover

Configuration

By default there are two configuration files available inside the config/ folder: apps and messages. The configuration for messages is optionally. It is possible to store different predefined message objects there, if wanted. For more details take a look inside the files or read about the message builder.

Before using this module the apps configuration should be set up. This file contains the user_key and app_token for all pushover apps where notifications should be send to.

It is possible to store the apps under own names. The name default is a reserved name. It will select this app whenever no app name was given by request parameters. So, if only one app is available, the name default should be used.

module.exports = {
    default: {
        user:  '14a6b88846b28898a237fa3f84148f54',
        token: '30f28fcb0c97083d20a8cd06f3f6e737'
    },
    another: {
        user:  '85b9e76dc041b411b04b5c1f49cba885',
        token: '8d0771a0757289d942db83db090623d6'
    }
};

Basic Usage

The basic usage is pretty simple. When a default app is defined just call the send script with a supplied message string to be send. For more parameters take a look at the pushover api or the parameter shorthands.

http://localhost:8080/pushover/send?message=my%20custom%20message

Parameter Shorthand

All request parameters can be shorten to it's first character (except url_title and timestamp, which are shorten with ut and ts). With this it is possible to use shorten URLs.

app        ->  a
message    ->  m
device     ->  d
title      ->  t
url        ->  u
url_title  ->  ut (!)
priority   ->  p
timestamp  ->  ts (!)
sound      ->  s

Example:

http://localhost:8080/pushover/send?app=default&priority=1&device=*
http://localhost:8080/pushover/send?a=default&p=1&d=*

Message Builder

Pushover messages are basically a JavaScript object. It is possible to set all the options of the official api via request parameters. But is is even possible to let these message objects build on request.

Messages can be predefined in configuration. If there are messages configured they can be send by it's name on request:

http://localhost:8080/pushover/send?message=name

Using JSON as Message Object

It is possible to use a JSON string as message object on request. It works the same way as with predefined messages:

http://localhost:8080/pushover/send?message={"message":"my message","device":"*"}

Chaining Messages

The message builder can even handle a chain of messages. These messages has to be separated by a pipe | on request. It will combine all messages in the given order. When a message property is set by more than one entry, the last one will be set.

For example, these are predefined states:

let messages = {
    default: {
        device: '*',
        priority: 0
    },
    high: {
        priority: 1
    }
}

And this request:

http://localhost:8080/pushover/send?message=default|high|my%20message%20text

The resulting message object would become:

{
  message: 'my message text',
  device: '*',
  priority: 1
}

It is even possible to chain a JSON string too.

http://localhost:8080/pushover/send?message=default|high|{"message":"my message"}

Bugs / Feature request

Please report bugs and feel free to ask for new features directly on GitHub.

License

Minoss is dual-licensed under MIT and GPL-2.0 license.

Donation

You like to support me?
You appreciate my work?
You use it in commercial projects?

Feel free to make a little donation! :wink: