initial commit
This commit is contained in:
43
backend/telegram_notifier.py
Normal file
43
backend/telegram_notifier.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import requests
|
||||
import logging
|
||||
from config import load_config
|
||||
|
||||
logger = logging.getLogger("TELEGRAM")
|
||||
|
||||
class TelegramNotifier:
|
||||
def __init__(self):
|
||||
self.config = load_config()
|
||||
self.bot_token = self.config.get('telegram', {}).get('bot_token', '')
|
||||
self.chat_id = self.config.get('telegram', {}).get('chat_id', '')
|
||||
|
||||
def reload_config(self):
|
||||
self.config = load_config()
|
||||
self.bot_token = self.config.get('telegram', {}).get('bot_token', '')
|
||||
self.chat_id = self.config.get('telegram', {}).get('chat_id', '')
|
||||
|
||||
def send_message(self, text):
|
||||
# Reload to ensure we have latest from settings
|
||||
self.reload_config()
|
||||
|
||||
# Check if enabled
|
||||
if not self.config.get('preferences', {}).get('enable_telegram', True):
|
||||
return
|
||||
|
||||
if not self.bot_token or not self.chat_id:
|
||||
logger.warning("Telegram credentials missing.")
|
||||
return
|
||||
|
||||
url = f"https://api.telegram.org/bot{self.bot_token}/sendMessage"
|
||||
payload = {
|
||||
"chat_id": self.chat_id,
|
||||
"text": text
|
||||
}
|
||||
|
||||
try:
|
||||
res = requests.post(url, json=payload, timeout=5)
|
||||
if res.status_code != 200:
|
||||
logger.error(f"Telegram Send Failed: {res.text}")
|
||||
except Exception as e:
|
||||
logger.error(f"Telegram Error: {e}")
|
||||
|
||||
notifier = TelegramNotifier()
|
||||
Reference in New Issue
Block a user