ntfy
TypeScript icon, indicating that this package has built-in type declarations

1.5.2 • Public • Published

ntfy License: GPL v3 npm version

Send notifications over ntfy.sh.

Prerequisites

Installation

ℹ️ This is a hybrid CommonJS / ESM module.

Run yarn add ntfy or npm i ntfy.

Usage

Simple example

import {publish} from 'ntfy';

await publish({
  message: 'This is an example message.',
  topic: 'mytopic',
});

Advanced example

import {publish, MessagePriority} from 'ntfy';

await publish({
  actions: [
    {
      clear: true,
      extras: {
        cmd: 'pic',
        camera: 'front',
      },
      intent: 'io.heckel.ntfy.USER_ACTION',
      label: 'Take picture',
      type: 'broadcast',
    },
    {
      body: '{"action": "close"}',
      clear: false,
      headers: {
        Authorization: 'Bearer zAzsx1sk..',
      },
      label: 'Close door',
      method: 'PUT',
      type: 'http',
      url: 'https://api.mygarage.lan',
    },
    {
      clear: true,
      label: 'Open portal',
      type: 'view',
      url: 'https://api.nest.com/',
    },
  ],
  authorization: {
    password: 'my-password',
    username: 'my-username',
  },
  clickURL: 'https://github.com/ffflorian/',
  delay: '1m',
  disableCache: true,
  disableFirebase: true,
  emailAddress: 'name@example.com',
  iconURL: 'https://avatars.githubusercontent.com/ffflorian',
  message: 'Remote access to device detected. Act right away.',
  priority: MessagePriority.MAX,
  server: 'https://ntfy.custom',
  tags: ['warning', 'skull'],
  title: 'Unauthorized access detected',
  topic: 'mytopic',
});

Use a custom server without specifying it every time

import {NtfyClient} from 'ntfy';
const ntfyClient = new NtfyClient('https://ntfy.custom');

await ntfyClient.publish({ ... });
await ntfyClient.publish({ ... });

Readme

Keywords

Package Sidebar

Install

npm i ntfy

Weekly Downloads

105

Version

1.5.2

License

GPL-3.0

Unpacked Size

78.1 kB

Total Files

17

Last publish

Collaborators

  • ffflorian