diff options
Diffstat (limited to 'server/notification-providers/telegram.js')
-rw-r--r-- | server/notification-providers/telegram.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/server/notification-providers/telegram.js b/server/notification-providers/telegram.js new file mode 100644 index 0000000..c5bbb19 --- /dev/null +++ b/server/notification-providers/telegram.js @@ -0,0 +1,36 @@ +const NotificationProvider = require("./notification-provider"); +const axios = require("axios"); + +class Telegram extends NotificationProvider { + name = "telegram"; + + /** + * @inheritdoc + */ + async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { + const okMsg = "Sent Successfully."; + const url = "https://api.telegram.org"; + + try { + let params = { + chat_id: notification.telegramChatID, + text: msg, + disable_notification: notification.telegramSendSilently ?? false, + protect_content: notification.telegramProtectContent ?? false, + }; + if (notification.telegramMessageThreadID) { + params.message_thread_id = notification.telegramMessageThreadID; + } + + await axios.get(`${url}/bot${notification.telegramBotToken}/sendMessage`, { + params: params, + }); + return okMsg; + + } catch (error) { + this.throwGeneralAxiosError(error); + } + } +} + +module.exports = Telegram; |