New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

gotify

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gotify

Gotify JS Client

latest
Source
npmnpm
Version
1.1.0
Version published
Weekly downloads
493
15.19%
Maintainers
1
Weekly downloads
 
Created
Source

Gotify JavaScript Client

Logo

Version GitHub Workflow Status

What is it

This module is a Node.js client for Gotify, a simple server for sending and receiving messages.

Why

I needed a Node.js client to get instant notification on my Phone.

Actually, the Gotify API for sending message is really simple. It is basically a POST request to the /message endpoint. This client makes it even easier and straightforward.

Changelog

See CHANGELOG.md

Install

npm install gotify

Usage

const { gotify } = require("gotify");
// Typescript
// import { gotify } from "gotify";

await gotify({
  server: "http://gotify.example.com",
  app: "yourAppToken",
  title: "some title",
  message: "some msg",
  priority: 5,
});

Or, you can instantiate Gotify class:

const { gotify } = require("gotify");
// Typescript
// import { gotify } from "gotify";

const client = new Gotify({
  server: "http://gotify.example.com",
});

await client.send({
  app: "yourAppToken",
  title: "some title",
  message: "some msg",
  priority: 5,
});

To add message Extras, simply pass them (TypeScript should autocomplete the known extras):

await gotify({
  server: server,
  app: app,
  title: "A Markdown message",
  message: `This is a **message** with the ![Gotify Logo](https://raw.githubusercontent.com/gotify/logo/master/gotify-logo-small.png)!`,
  priority: 5,
  // Extras are defined here https://gotify.net/docs/msgextras
  extras: {
    // Format message as markdown
    "client::display": {
      contentType: "text/markdown",
    },
    // Opens the URL on notification click.
    "client::notification": {
      click: { url: "https://github.com/gotify" },
    },
    // Opens the URL after the notification was delivered.
    // Only works when the gotify app is in focus (limitation of android)
    "android::action": {
      onReceive: { intentUrl: "https://gotify.net" },
    },
  },
});

API

Send message

Either use gotify() or instantiate new Gotify().

Fields:

  • server (required): the server you are using, eg. "http://gotify.example.com"
  • app (required): this is the application token that you get when creating an application
  • message (required): the message's title
  • title (optional): the message's title
  • priority (optional): the message's priority. On my Android phone, priority>=4 will trigger the notification sound/vibrate, less will just display the notification bubble.
  • extras (optional): the message's extras as defined in the documentation

TODO/MAYBE

  • ? Set Markdown with a flag: markdown: true
  • ? Could specify the application token in the Gotify class to not pass it when sending a message
  • ? Support for custom http client (put got as a peerDependency and provides example with node-fetch and axios)

Keywords

gotify

FAQs

Package last updated on 17 Jun 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts