explicit telegram enable flag

This commit is contained in:
2026-02-12 17:39:38 +03:00
parent 9d374a97cd
commit 4e1d1ca35f
3 changed files with 13 additions and 6 deletions
+1 -1
View File
@@ -85,7 +85,7 @@ func main() {
defer stop()
// Telegram bot
if cfg.Telegram.Token != "" {
if cfg.Telegram.Enabled {
tgBot, err := telegram.NewBot(cfg.Telegram, memorySvc, client, cfg.Memos.URL, cfg.Memos.PublicURL, loc, logger)
if err != nil {
logger.Error("failed to create telegram bot", "error", err)
+3
View File
@@ -85,6 +85,9 @@ tier7 = 8
# =============================================================================
[telegram]
# Включить Telegram-бот для ежедневной отправки воспоминаний.
enabled = false
# Токен бота, полученный от @BotFather.
token = ""
+6 -2
View File
@@ -57,6 +57,7 @@ func (tw TierWeights) AsSlice() [7]int {
}
type TelegramConfig struct {
Enabled bool `toml:"enabled"`
Token string `toml:"token"`
ChatID int64 `toml:"chat_id"`
SendAt string `toml:"send_at"`
@@ -137,9 +138,12 @@ func validate(cfg *Config) error {
if sum := cfg.Search.TierWeights.Sum(); sum != 100 {
return fmt.Errorf("search.tier_weights must sum to 100, got %d", sum)
}
if cfg.Telegram.Token != "" {
if cfg.Telegram.Enabled {
if cfg.Telegram.Token == "" {
return fmt.Errorf("telegram.token is required when telegram.enabled = true")
}
if cfg.Telegram.ChatID == 0 {
return fmt.Errorf("telegram.chat_id is required when telegram.token is set")
return fmt.Errorf("telegram.chat_id is required when telegram.enabled = true")
}
if !timeFormatRe.MatchString(cfg.Telegram.SendAt) {
return fmt.Errorf("telegram.send_at must be in HH:MM format, got %q", cfg.Telegram.SendAt)