feat: granular Telegram notification filters via .env (#161)
Some checks failed
CI / test (pull_request) Has been cancelled
Some checks failed
CI / test (pull_request) Has been cancelled
Add NotificationFilter dataclass to TelegramClient allowing per-type on/off control via .env variables. circuit_breaker always sends regardless. New .env options (all default true): - TELEGRAM_NOTIFY_TRADES - TELEGRAM_NOTIFY_MARKET_OPEN_CLOSE - TELEGRAM_NOTIFY_FAT_FINGER - TELEGRAM_NOTIFY_SYSTEM_EVENTS - TELEGRAM_NOTIFY_PLAYBOOK - TELEGRAM_NOTIFY_SCENARIO_MATCH (most frequent — set false to reduce noise) - TELEGRAM_NOTIFY_ERRORS Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
11
src/main.py
11
src/main.py
@@ -41,7 +41,7 @@ from src.evolution.optimizer import EvolutionOptimizer
|
||||
from src.logging.decision_logger import DecisionLogger
|
||||
from src.logging_config import setup_logging
|
||||
from src.markets.schedule import MarketInfo, get_next_market_open, get_open_markets
|
||||
from src.notifications.telegram_client import TelegramClient, TelegramCommandHandler
|
||||
from src.notifications.telegram_client import NotificationFilter, TelegramClient, TelegramCommandHandler
|
||||
from src.strategy.models import DayPlaybook
|
||||
from src.strategy.playbook_store import PlaybookStore
|
||||
from src.strategy.pre_market_planner import PreMarketPlanner
|
||||
@@ -1208,6 +1208,15 @@ async def run(settings: Settings) -> None:
|
||||
bot_token=settings.TELEGRAM_BOT_TOKEN,
|
||||
chat_id=settings.TELEGRAM_CHAT_ID,
|
||||
enabled=settings.TELEGRAM_ENABLED,
|
||||
notification_filter=NotificationFilter(
|
||||
trades=settings.TELEGRAM_NOTIFY_TRADES,
|
||||
market_open_close=settings.TELEGRAM_NOTIFY_MARKET_OPEN_CLOSE,
|
||||
fat_finger=settings.TELEGRAM_NOTIFY_FAT_FINGER,
|
||||
system_events=settings.TELEGRAM_NOTIFY_SYSTEM_EVENTS,
|
||||
playbook=settings.TELEGRAM_NOTIFY_PLAYBOOK,
|
||||
scenario_match=settings.TELEGRAM_NOTIFY_SCENARIO_MATCH,
|
||||
errors=settings.TELEGRAM_NOTIFY_ERRORS,
|
||||
),
|
||||
)
|
||||
|
||||
# Initialize Telegram command handler
|
||||
|
||||
Reference in New Issue
Block a user