diff --git a/README.md b/README.md index 40baa23..c09583c 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ python -m uvicorn main:app --host 0.0.0.0 --port 8080 --reload --env-file .env - `AUTO_ASSIGNED_LABEL` - необязательно, по умолчанию `auto-assigned` - `AUTO_ASSIGN_REVIEWERS_COUNT` - необязательно, по умолчанию `2` (сколько ревьюеров назначать автоматически) - `APPROVALS_REQUIRED_FOR_MERGE` - необязательно, по умолчанию `2` (порог approve для сообщения "можно мерджить") +- `NOTIFY_ON_WEEKENDS` - необязательно, по умолчанию `true`; если `false`, бот не отправляет ЛС в субботу и воскресенье (МСК) - `ALLOW_SELF_ASSIGN` - необязательно, по умолчанию `false` (для локального теста можно `true`) - `TELEGRAM_ALLOWED_CHAT_IDS` - необязательно, CSV списка `chat_id`, которым можно управлять ботом - `TELEGRAM_ALLOWED_USERNAMES` - необязательно, CSV списка Telegram username (без `@`) diff --git a/main.py b/main.py index 793448a..c01534a 100644 --- a/main.py +++ b/main.py @@ -46,6 +46,7 @@ GITEA_COUNT_REPOS = { for v in os.getenv("GITEA_COUNT_REPOS", "").split(",") if v.strip() } +NOTIFY_ON_WEEKENDS = os.getenv("NOTIFY_ON_WEEKENDS", "true").lower() == "true" MSK_TZ = timezone(timedelta(hours=3)) @@ -375,6 +376,9 @@ class TelegramClient: async def send_message(self, chat_id: int, text: str) -> None: if not self.base_url: return + # По настройке можно отключить отправку уведомлений в выходные (МСК). + if msk_now().weekday() >= 5: + return try: async with httpx.AsyncClient(timeout=20) as client: response = await client.post(