const NotificationProvider = require("./notification-provider"); const axios = require("axios"); class Pushover extends NotificationProvider { name = "pushover"; async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { let okMsg = "Sent Successfully."; let pushoverlink = "https://api.pushover.net/1/messages.json" try { if (heartbeatJSON == null) { let data = { "message": "Uptime Kuma Pushover testing successful.", "user": notification.pushoveruserkey, "token": notification.pushoverapptoken, "sound": notification.pushoversounds, "priority": notification.pushoverpriority, "title": notification.pushovertitle, "retry": "30", "expire": "3600", "html": 1, } await axios.post(pushoverlink, data) return okMsg; } let data = { "message": "Uptime Kuma Alert\n\nMessage:" + msg + "\nTime (UTC):" + heartbeatJSON["time"], "user": notification.pushoveruserkey, "token": notification.pushoverapptoken, "sound": notification.pushoversounds, "priority": notification.pushoverpriority, "title": notification.pushovertitle, "retry": "30", "expire": "3600", "html": 1, } await axios.post(pushoverlink, data) return okMsg; } catch (error) { this.throwGeneralAxiosError(error) } } } module.exports = Pushover;