diff --git a/server/notification.js b/server/notification.js
index 30d2df838..c60160a8a 100644
--- a/server/notification.js
+++ b/server/notification.js
@@ -92,6 +92,24 @@ class Notification {
console.log(error)
return false;
}
+ return await Notification.discord(notification, msg)
+
+ } else if (notification.type === "signal") {
+ try {
+ let data = {
+ "message": msg,
+ "number": notification.signalNumber,
+ "recipients": notification.signalRecipients.replace(/\s/g, '').split(",")
+ };
+ let config = {};
+
+ let res = await axios.post(notification.signalURL, data, config)
+ return true;
+ } catch (error) {
+ console.log(error)
+ return false;
+ }
+
} else {
throw new Error("Notification type is not supported")
}
@@ -135,20 +153,15 @@ class Notification {
static async smtp(notification, msg) {
- let data = {
+ let transporter = nodemailer.createTransport({
host: notification.smtpHost,
port: notification.smtpPort,
secure: notification.smtpSecure,
- };
-
- if (notification.smtpUsername) {
- data.auth = {
+ auth: {
user: notification.smtpUsername,
pass: notification.smtpPassword,
- };
- }
-
- let transporter = nodemailer.createTransport(data);
+ },
+ });
// send mail with defined transport object
let info = await transporter.sendMail({
@@ -160,6 +173,18 @@ class Notification {
return true;
}
+
+ static async discord(notification, msg) {
+ const client = new Discord.Client();
+ await client.login(notification.discordToken)
+
+ const channel = await client.channels.fetch(notification.discordChannelID);
+ await channel.send(msg);
+
+ client.destroy()
+
+ return true;
+ }
}
module.exports = {
diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue
index 316bd58d1..44454d688 100644
--- a/src/components/NotificationDialog.vue
+++ b/src/components/NotificationDialog.vue
@@ -17,6 +17,7 @@
+
@@ -133,6 +134,41 @@
+
+
+ You can check this url to view how to setup one:
+
+ https://github.com/bbernhard/signal-cli-rest-api
+
+ IMPORTANT: You cannot mix groups and numbers in recipients!
+