Уведомления в Telegram
CI / test (push) Successful in 2m45s
Release / release (push) Successful in 1m17s

- второй канал рядом с ntfy, оба необязательные: токен бота, несколько chat id,
  тема форума, свой адрес Bot API
- успешные бэкапы приходят без звука, в сообщениях ссылка на карточку клиента
- тестовая отправка синхронная: в настройках виден результат по каждому каналу
- токен бота не попадает в тексты ошибок и логи

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-06 22:29:26 +03:00
1 parent a488d2ea08
commit 897ad48a2d
8 files changed
+354 -38

No files matched your search

+2 -2
View File
@@ -181,7 +181,7 @@ func (s *Server) tick() {
if c.LastBackupAt == 0 {
msg = fmt.Sprintf("%s: от клиента ещё не пришло ни одного бэкапа", c.Domain)
}
s.notify("Бэкап просрочен: "+c.Domain, msg, "high", "warning")
s.notify(notification{Title: "Бэкап просрочен: " + c.Domain, Msg: msg, Priority: "high", Tags: "warning", Link: s.clientLink(c.ID)})
_ = s.st.SetStaleNotified(c.ID)
}
}
@@ -200,7 +200,7 @@ func (s *Server) failBackup(b *Backup, msg string) {
domain = c.Domain
}
log.Printf("бэкап #%d (%s) провален: %s", b.ID, domain, msg)
s.notify("Бэкап не удался: "+domain, msg, "high", "x")
s.notify(notification{Title: "Бэкап не удался: " + domain, Msg: msg, Priority: "high", Tags: "x", Link: s.clientLink(b.ClientID)})
}
// --- токены ---