Gotify JS Client
npm install gotify!Logo

!GitHub Workflow Status
This module is a Node.js client for Gotify, a simple server for sending and receiving messages.
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.
> See CHANGELOG.md
``sh`
npm install gotify
`js
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:
`js
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):
`jsThis is a message with the !Gotify Logo!
await gotify({
server: server,
app: app,
title: "A Markdown message",
message: ,`
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" },
},
},
});
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 applicationmessage
- (required): the message's titletitle
- (optional): the message's titlepriority
- (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
- [ ] ? Set Markdown with a flag: markdown: true
- [ ] ? Could specify the application token in the Gotify class to not pass it when sending a messagegot` as a peerDependency and provides example with node-fetch and axios)
- [ ] ? Support for custom http client (put