Files
sc-death-log/discord_subscriber.py
T
2025-05-25 15:22:57 +00:00

28 lines
749 B
Python

import requests
from monitor import Event, SubscriberABC
from loguru import logger
class DiscordSubscriber(SubscriberABC):
def __init__(self):
self.webhook_url: str | None = None
self.enabled: bool = True
def set_url(self, webhook_url: str) -> None:
self.webhook_url = webhook_url
def set_enabled(self, value: bool) -> None:
self.enabled = value
def consume_event(self, event: Event) -> None:
if not self.enabled:
return
try:
requests.post(
self.webhook_url, json={"content": event.to_str(include_ts=False)}
)
except Exception as e:
logger.opt(exception=True).warning(f"Error sending to Discord: {event}")