mirror of
				https://git.lapiole.org/dani/ansible-roles.git
				synced 2025-11-03 20:31:26 +01:00 
			
		
		
		
	
		
			
	
	
		
			27 lines
		
	
	
		
			753 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			753 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								TO=$1
							 | 
						||
| 
								 | 
							
								MESSAGE=$2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [[ $TO =~ ^@ ]]; then
							 | 
						||
| 
								 | 
							
								  # This is a matrix user. We need to create a room before we can send
							 | 
						||
| 
								 | 
							
								  # But first check if we haven't already one
							 | 
						||
| 
								 | 
							
								  if [ -e ~/.matrix_zabbix/$TO ]; then
							 | 
						||
| 
								 | 
							
								    # We already have a room for this user, just send it there
							 | 
						||
| 
								 | 
							
								    TO=$(cat ~/.matrix_zabbix/$TO)
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    # Create a new room, invite the user, and grant him admin privileges
							 | 
						||
| 
								 | 
							
								    USER=$TO
							 | 
						||
| 
								 | 
							
								    TO=$(patrix --create-room --name="Zabbix Alerter for $TO" --topic='Alerts' --invite=$TO)
							 | 
						||
| 
								 | 
							
								    patrix --modify-room --room=$TO --user-perm "$USER=100"
							 | 
						||
| 
								 | 
							
								    echo $TO > ~/.matrix_zabbix/$USER
							 | 
						||
| 
								 | 
							
								  fi
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								# Check we now have a room ID or alias
							 | 
						||
| 
								 | 
							
								if [[ $TO =~ ^[\!\#] ]]; then
							 | 
						||
| 
								 | 
							
								  echo "$MESSAGE" | patrix --room=$TO
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								  echo "Can't send to $TO"
							 | 
						||
| 
								 | 
							
								  exit 1
							 | 
						||
| 
								 | 
							
								fi
							 |