Spaces:
Running
Running
File size: 1,061 Bytes
00eef43 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import requests
from typing import Optional
class PushoverNotifier:
def __init__(self, user_key: str, app_token: str, url: str = "https://api.pushover.net/1/messages.json"):
self.user_key = user_key
self.app_token = app_token
self.url = url
self.enabled = bool(user_key and app_token)
def send(self, message: str, title: Optional[str] = None) -> bool:
if not self.enabled:
print(f"[PUSH DISABLED] {message}")
return False
print(f"[PUSH] {message}")
try:
payload = {
"user": self.user_key,
"token": self.app_token,
"message": message
}
if title:
payload["title"] = title
response = requests.post(self.url, data=payload, timeout=5)
return response.status_code == 200
except Exception as e:
print(f"[ERROR] Push notification failed: {e}")
return False
|