Send notifications over ntfy.sh.
ℹ️ This is a pure ESM module.
Run yarn add ntfy
or npm i ntfy
.
import {publish} from 'ntfy';
await publish({
message: 'This is an example message.',
topic: 'mytopic',
});
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: '[email protected]',
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',
});
import {NtfyClient} from 'ntfy';
const ntfyClient = new NtfyClient('https://ntfy.custom');
await ntfyClient.publish({ ... });
await ntfyClient.publish({ ... });