Browse Source
			 
			
			Merge pull request #567  from Empty2k12/feature/matrix-notifications 
 
Matrix Notifications 
			
			
				 
		
			
				
					
						Louis Lam 
					
					4 years ago 
							GitHub 
							
						 
					
				 
				
			 
		 
		
			
				
					GPG Key ID:  
		
		
		
	
		
			
				 20 changed files  with 
100 additions  and 
16 deletions 
			 
			
		 
		
			
				
					
					
					  
					server/notification-providers/discord.js 
				 
			
				
					
					
					  
					server/notification-providers/gotify.js 
				 
			
				
					
					
					  
					server/notification-providers/line.js 
				 
			
				
					
					
					  
					server/notification-providers/lunasea.js 
				 
			
				
					
					
					  
					server/notification-providers/matrix.js 
				 
			
				
					
					
					  
					server/notification-providers/mattermost.js 
				 
			
				
					
					
					  
					server/notification-providers/octopush.js 
				 
			
				
					
					
					  
					server/notification-providers/pushbullet.js 
				 
			
				
					
					
					  
					server/notification-providers/pushover.js 
				 
			
				
					
					
					  
					server/notification-providers/pushy.js 
				 
			
				
					
					
					  
					server/notification-providers/rocket-chat.js 
				 
			
				
					
					
					  
					server/notification-providers/signal.js 
				 
			
				
					
					
					  
					server/notification-providers/slack.js 
				 
			
				
					
					
					  
					server/notification-providers/teams.js 
				 
			
				
					
					
					  
					server/notification-providers/telegram.js 
				 
			
				
					
					
					  
					server/notification-providers/webhook.js 
				 
			
				
					
					
					  
					server/notification.js 
				 
			
				
					
					
					  
					src/components/notifications/Matrix.vue 
				 
			
				
					
					
					  
					src/components/notifications/index.js 
				 
			
				
					
					
					  
					src/languages/en.js 
				 
			
		 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -7,7 +7,7 @@ class Discord extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "discord" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            const  discordDisplayName  =  notification . discordUsername  ||  "Uptime Kuma" ;  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -6,7 +6,7 @@ class Gotify extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "gotify" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            if  ( notification . gotifyserverurl  &&  notification . gotifyserverurl . endsWith ( "/" ) )  {  
			
		
	
		
			
				
					                notification . gotifyserverurl  =  notification . gotifyserverurl . slice ( 0 ,  - 1 ) ;  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -7,7 +7,7 @@ class Line extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "line" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            let  lineAPIUrl  =  "https://api.line.me/v2/bot/message/push" ;  
			
		
	
		
			
				
					            let  config  =  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -7,7 +7,7 @@ class LunaSea extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "lunasea" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        let  lunaseadevice  =  "https://notify.lunasea.app/v1/custom/device/"  +  notification . lunaseaDevice  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
						
					 
				
				@ -0,0 +1,45 @@ 
			
		
	
		
			
				
					const  NotificationProvider  =  require ( "./notification-provider" ) ;  
			
		
	
		
			
				
					const  axios  =  require ( "axios" ) ;  
			
		
	
		
			
				
					const  Crypto  =  require ( "crypto" ) ;  
			
		
	
		
			
				
					const  {  debug  }  =  require ( "../../src/util" ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					class  Matrix  extends  NotificationProvider  {  
			
		
	
		
			
				
					    name  =  "matrix" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        const  size  =  20 ;  
			
		
	
		
			
				
					        const  randomString  =  encodeURIComponent (  
			
		
	
		
			
				
					            Crypto  
			
		
	
		
			
				
					                . randomBytes ( size )  
			
		
	
		
			
				
					                . toString ( "base64" )  
			
		
	
		
			
				
					                . slice ( 0 ,  size )  
			
		
	
		
			
				
					        ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        debug ( "Random String: "  +  randomString ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        const  roomId  =  encodeURIComponent ( notification . internalRoomId ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        debug ( "Matrix Room ID: "  +  roomId ) ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            let  config  =  {  
			
		
	
		
			
				
					                headers :  {  
			
		
	
		
			
				
					                    "Authorization" :  ` Bearer  ${ notification . accessToken } ` ,  
			
		
	
		
			
				
					                }  
			
		
	
		
			
				
					            } ;  
			
		
	
		
			
				
					            let  data  =  {  
			
		
	
		
			
				
					                "msgtype" :  "m.text" ,  
			
		
	
		
			
				
					                "body" :  msg  
			
		
	
		
			
				
					            } ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					            await  axios . put ( ` ${ notification . homeserverUrl } /_matrix/client/r0/rooms/ ${ roomId } /send/m.room.message/ ${ randomString } ` ,  data ,  config ) ;  
			
		
	
		
			
				
					            return  okMsg ;  
			
		
	
		
			
				
					        }  catch  ( error )  {  
			
		
	
		
			
				
					            this . throwGeneralAxiosError ( error ) ;  
			
		
	
		
			
				
					        }  
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					module . exports  =  Matrix ;  
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -7,7 +7,7 @@ class Mattermost extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "mattermost" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            const  mattermostUserName  =  notification . mattermostusername  ||  "Uptime Kuma" ;  
			
		
	
		
			
				
					            // If heartbeatJSON is null, assume we're testing.
  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -6,7 +6,7 @@ class Octopush extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "octopush" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            let  config  =  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -8,7 +8,7 @@ class Pushbullet extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "pushbullet" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            let  pushbulletUrl  =  "https://api.pushbullet.com/v2/pushes" ;  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -6,7 +6,7 @@ class Pushover extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "pushover" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        let  pushoverlink  =  "https://api.pushover.net/1/messages.json"  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -6,7 +6,7 @@ class Pushy extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "pushy" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            await  axios . post ( ` https://api.pushy.me/push?api_key= ${ notification . pushyAPIKey } ` ,  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -9,7 +9,7 @@ class RocketChat extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "rocket.chat" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            if  ( heartbeatJSON  ==  null )  {  
			
		
	
		
			
				
					                let  data  =  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -6,7 +6,7 @@ class Signal extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "signal" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            let  data  =  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -25,7 +25,7 @@ class Slack extends NotificationProvider { 
			
		
	
		
			
				
					    }  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            if  ( heartbeatJSON  ==  null )  {  
			
		
	
		
			
				
					                let  data  =  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -87,7 +87,7 @@ class Teams extends NotificationProvider { 
			
		
	
		
			
				
					    } ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            if  ( heartbeatJSON  ==  null )  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -6,7 +6,7 @@ class Telegram extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "telegram" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            await  axios . get ( ` https://api.telegram.org/bot ${ notification . telegramBotToken } /sendMessage ` ,  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -7,7 +7,7 @@ class Webhook extends NotificationProvider { 
			
		
	
		
			
				
					    name  =  "webhook" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    async  send ( notification ,  msg ,  monitorJSON  =  null ,  heartbeatJSON  =  null )  {  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully.  " ;  
			
		
	
		
			
				
					        let  okMsg  =  "Sent Successfully." ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					        try  {  
			
		
	
		
			
				
					            let  data  =  {  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -5,6 +5,7 @@ const Gotify = require("./notification-providers/gotify"); 
			
		
	
		
			
				
					const  Line  =  require ( "./notification-providers/line" ) ;  
			
		
	
		
			
				
					const  LunaSea  =  require ( "./notification-providers/lunasea" ) ;  
			
		
	
		
			
				
					const  Mattermost  =  require ( "./notification-providers/mattermost" ) ;  
			
		
	
		
			
				
					const  Matrix  =  require ( "./notification-providers/matrix" ) ;  
			
		
	
		
			
				
					const  Octopush  =  require ( "./notification-providers/octopush" ) ;  
			
		
	
		
			
				
					const  Pushbullet  =  require ( "./notification-providers/pushbullet" ) ;  
			
		
	
		
			
				
					const  Pushover  =  require ( "./notification-providers/pushover" ) ;  
			
		
	
	
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
				
				@ -34,6 +35,7 @@ class Notification { 
			
		
	
		
			
				
					            new  Line ( ) ,  
			
		
	
		
			
				
					            new  LunaSea ( ) ,  
			
		
	
		
			
				
					            new  Mattermost ( ) ,  
			
		
	
		
			
				
					            new  Matrix ( ) ,  
			
		
	
		
			
				
					            new  Octopush ( ) ,  
			
		
	
		
			
				
					            new  Pushbullet ( ) ,  
			
		
	
		
			
				
					            new  Pushover ( ) ,  
			
		
	
	
		
			
				
					
						
							
								 
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
						
					 
				
				@ -0,0 +1,34 @@ 
			
		
	
		
			
				
					< template >  
			
		
	
		
			
				
					    < div  class = "mb-3" >  
			
		
	
		
			
				
					        < label  for = "homeserver-url"  class = "form-label" > Homeserver  URL  ( with  http ( s ) : / /   a n d   o p t i o n a l l y   p o r t ) < / l a b e l > < s p a n   s t y l e = " c o l o r :   r e d ; " > < s u p > * < / s u p > < / s p a n >  
			
		
	
		
			
				
					        < input  id = "homeserver-url"  v-model ="$parent.notification.homeserverUrl" type="text" class="form-control"  :required ="true" >  
			
		
	
		
			
				
					    < / div >  
			
		
	
		
			
				
					    < div  class = "mb-3" >  
			
		
	
		
			
				
					        < label  for = "internal-room-id"  class = "form-label" > Internal  Room  Id < / label > < span  style = "color: red;" > < sup > * < / sup > < / span >  
			
		
	
		
			
				
					        < input  id = "internal-room-id"  v-model ="$parent.notification.internalRoomId" type="text" class="form-control" required="true" >  
			
		
	
		
			
				
					    < / div >  
			
		
	
		
			
				
					    < div  class = "mb-3" >  
			
		
	
		
			
				
					        < label  for = "access-token"  class = "form-label" > Access  Token < / label > < span  style = "color: red;" > < sup > * < / sup > < / span >  
			
		
	
		
			
				
					        < HiddenInput  id = "access-token"  v-model ="$parent.notification.accessToken" :required="true" autocomplete="one-time-code"  :maxlength ="500" > < / HiddenInput >  
			
		
	
		
			
				
					    < / div >  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					    < div  class = "form-text" >  
			
		
	
		
			
				
					        < span  style = "color: red;" > < sup > * < / sup > < / span > Required  
			
		
	
		
			
				
					        < p  style = "margin-top: 8px;" >  
			
		
	
		
			
				
					            You  can  find  the  internal  room  ID  by  looking  in  the  advanced  section  of  the  room  settings  in  your  Matrix  client .  It  should  look  like  ! QMdRCpUIfLwsfjxye6 : home . server .  
			
		
	
		
			
				
					        < / p >  
			
		
	
		
			
				
					        < p  style = "margin-top: 8px;" >  
			
		
	
		
			
				
					            It  is  highly  recommended  you  create  a  new  user  and  do  not  use  your  own  Matrix  user 's access token as it will allow full access to your account and all the rooms you joined. Instead, create a new user and only invite it to the room that you want to receive the notification in. You can get the access token by running <code>curl -XPOST -d ' { "type" :  "m.login.password" ,  "identifier" :  { "user" :  "botusername" ,  "type" :  "m.id.user" } ,  "password" :  "passwordforuser" } '  "https://home.server/_matrix/client/r0/login" < / code > .  
			
		
	
		
			
				
					        < / p >  
			
		
	
		
			
				
					    < / div >  
			
		
	
		
			
				
					< / template >  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					< script >  
			
		
	
		
			
				
					import  HiddenInput  from  "../HiddenInput.vue" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					export  default  {  
			
		
	
		
			
				
					    components :  {  
			
		
	
		
			
				
					        HiddenInput ,  
			
		
	
		
			
				
					    } ,  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					< / script >  
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -15,6 +15,7 @@ import Apprise from "./Apprise.vue"; 
			
		
	
		
			
				
					import  Pushbullet  from  "./Pushbullet.vue" ;  
			
		
	
		
			
				
					import  Line  from  "./Line.vue" ;  
			
		
	
		
			
				
					import  Mattermost  from  "./Mattermost.vue" ;  
			
		
	
		
			
				
					import  Matrix  from  "./Matrix.vue" ;  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					/ * *  
			
		
	
		
			
				
					 *  Manage  all  notification  form .  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -38,7 +39,8 @@ const NotificationFormList = { 
			
		
	
		
			
				
					    "apprise" :  Apprise ,  
			
		
	
		
			
				
					    "pushbullet" :  Pushbullet ,  
			
		
	
		
			
				
					    "line" :  Line ,  
			
		
	
		
			
				
					    "mattermost" :  Mattermost  
			
		
	
		
			
				
					    "mattermost" :  Mattermost ,  
			
		
	
		
			
				
					    "matrix" :  Matrix ,  
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					export  default  NotificationFormList  
			
		
	
	
		
			
				
					
						
						
						
					 
				
				 
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					
						
						
							
								 
						
						
					 
				
				@ -240,5 +240,6 @@ export default { 
			
		
	
		
			
				
					    pushbullet :  "Pushbullet" ,  
			
		
	
		
			
				
					    line :  "Line Messenger" ,  
			
		
	
		
			
				
					    mattermost :  "Mattermost" ,  
			
		
	
		
			
				
					    "matrix" :  "Matrix" ,  
			
		
	
		
			
				
					    // End notification form
  
			
		
	
		
			
				
					} ;