AGENTS.MD: мониторинг per-chat
This commit is contained in:
parent
76dcb8ed52
commit
39e78df55b
1 changed files with 9 additions and 4 deletions
13
AGENTS.MD
13
AGENTS.MD
|
|
@ -381,6 +381,10 @@ OpenDKIM milter (`Mode sv`) верифицирует входящие, но не
|
||||||
- **`deltabot.py` `/join`:** проверка URL заменена с `"i.delta.chat" in value` на `re.match(r'https://i\.delta\.chat/#', value)` — устраняет обход подстрокой.
|
- **`deltabot.py` `/join`:** проверка URL заменена с `"i.delta.chat" in value` на `re.match(r'https://i\.delta\.chat/#', value)` — устраняет обход подстрокой.
|
||||||
- **`deltabot.py` `/save` и `/channels image`:** `file_blob` валидируется через `os.path.realpath` + проверка что результирующий путь остаётся внутри `ACCOUNTS_DIR` — защита от path traversal.
|
- **`deltabot.py` `/save` и `/channels image`:** `file_blob` валидируется через `os.path.realpath` + проверка что результирующий путь остаётся внутри `ACCOUNTS_DIR` — защита от path traversal.
|
||||||
|
|
||||||
|
### 14.06.2026 — Мониторинг per-chat
|
||||||
|
|
||||||
|
- **`deltabot.py` `monitor_worker()` и `/monitor`:** мониторы разграничены по чатам. `monitors.json` — `{chat_id: [...]}` (был глобальный список). `/monitor list` показывает только свои мониторы, алерты уходят только в чат-владелец. Добавлена автоматическая миграция старого формата.
|
||||||
|
|
||||||
### 13.06.2026 — Изоляция бота
|
### 13.06.2026 — Изоляция бота
|
||||||
|
|
||||||
- **`deltabot.py`:** добавлена проверка отправителя в начале `handle_message`. Сообщения от неизвестных email игнорируются без ответа.
|
- **`deltabot.py`:** добавлена проверка отправителя в начале `handle_message`. Сообщения от неизвестных email игнорируются без ответа.
|
||||||
|
|
@ -490,16 +494,17 @@ TRUSTED_DOMAINS = {"budaev.org", "dc.budaev.org"}
|
||||||
## Мониторинг сайтов (/monitor)
|
## Мониторинг сайтов (/monitor)
|
||||||
|
|
||||||
**Файл:** `~/.config/deltabot/monitors.json`
|
**Файл:** `~/.config/deltabot/monitors.json`
|
||||||
**Воркер:** `monitor_worker()` — проверяет каждые 5 минут, шлёт алерт всем подписчикам при смене статуса.
|
**Формат:** `{chat_id: [{url, last_ok, last_check, last_detail}, ...]}` — каждый чат видит только свои мониторы.
|
||||||
|
**Воркер:** `monitor_worker()` — проверяет каждые 5 минут, шлёт алерт в чат, который добавил монитор, при смене статуса.
|
||||||
|
|
||||||
| Команда | Действие |
|
| Команда | Действие |
|
||||||
|---------|----------|
|
|---------|----------|
|
||||||
| `/monitor add <url>` | Добавить (мгновенная проверка при добавлении) |
|
| `/monitor add <url>` | Добавить (мгновенная проверка при добавлении) |
|
||||||
| `/monitor list` | Список с последним статусом |
|
| `/monitor list` | Список (только своего чата) |
|
||||||
| `/monitor remove <N\|url>` | Удалить по номеру или URL |
|
| `/monitor remove <N\|url>` | Удалить по номеру или URL |
|
||||||
| `/monitor check` | Немедленная проверка всех |
|
| `/monitor check` | Немедленная проверка всех (своего чата) |
|
||||||
|
|
||||||
Алерт при падении отправляется **всем подписчикам** (`subscribers.json`).
|
Алерт при падении отправляется только в чат, добавивший монитор. **Не используется `subscribers.json`.**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue