45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
#!/usr/bin/env sh
 | 
						|
 | 
						|
#Support for pushbullet.com's api. Push notification, notification sync and message platform for multiple platforms
 | 
						|
#PUSHBULLET_TOKEN="" Required, pushbullet application token
 | 
						|
#PUSHBULLET_DEVICE="" Optional, Specific device, ignore to send to all devices
 | 
						|
 | 
						|
PUSHBULLET_URI="https://api.pushbullet.com/v2/pushes"
 | 
						|
pushbullet_send() {
 | 
						|
  _subject="$1"
 | 
						|
  _content="$2"
 | 
						|
  _statusCode="$3" #0: success, 1: error 2($RENEW_SKIP): skipped
 | 
						|
  _debug "_statusCode" "$_statusCode"
 | 
						|
 | 
						|
  PUSHBULLET_TOKEN="${PUSHBULLET_TOKEN:-$(_readaccountconf_mutable PUSHBULLET_TOKEN)}"
 | 
						|
  if [ -z "$PUSHBULLET_TOKEN" ]; then
 | 
						|
    PUSHBULLET_TOKEN=""
 | 
						|
    _err "You didn't specify a Pushbullet application token yet."
 | 
						|
    return 1
 | 
						|
  fi
 | 
						|
  _saveaccountconf_mutable PUSHBULLET_TOKEN "$PUSHBULLET_TOKEN"
 | 
						|
 | 
						|
  PUSHBULLET_DEVICE="${PUSHBULLET_DEVICE:-$(_readaccountconf_mutable PUSHBULLET_DEVICE)}"
 | 
						|
  if [ -z "$PUSHBULLET_DEVICE" ]; then
 | 
						|
    _clearaccountconf_mutable PUSHBULLET_DEVICE
 | 
						|
  else
 | 
						|
    _saveaccountconf_mutable PUSHBULLET_DEVICE "$PUSHBULLET_DEVICE"
 | 
						|
  fi
 | 
						|
 | 
						|
  export _H1="Content-Type: application/json"
 | 
						|
  export _H2="Access-Token: ${PUSHBULLET_TOKEN}"
 | 
						|
  _content="$(printf "*%s*\n" "$_content" | _json_encode)"
 | 
						|
  _subject="$(printf "*%s*\n" "$_subject" | _json_encode)"
 | 
						|
  _data="{\"type\": \"note\",\"title\": \"${_subject}\",\"body\": \"${_content}\",\"device_iden\": \"${PUSHBULLET_DEVICE}\"}"
 | 
						|
  response="$(_post "$_data" "$PUSHBULLET_URI")"
 | 
						|
 | 
						|
  if [ "$?" != "0" ] || _contains "$response" "\"error_code\""; then
 | 
						|
    _err "PUSHBULLET send error."
 | 
						|
    _err "$response"
 | 
						|
    return 1
 | 
						|
  fi
 | 
						|
 | 
						|
  _info "PUSHBULLET send success."
 | 
						|
  return 0
 | 
						|
}
 |