From 05169b9b394e331b2df693e52e4c91d8464922bb Mon Sep 17 00:00:00 2001 From: MpakobecEx Date: Fri, 16 Oct 2026 02:14:39 +0500 Subject: [PATCH] =?UTF-8?q?fix(config):=20=D0=BD=D0=B5=20=D0=B4=D0=B5?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?ADMIN=5FIDS=20=D0=BA=D0=B0=D0=BA=20JSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/config.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/common/config.py b/common/config.py index 61db8ba..042f477 100644 --- a/common/config.py +++ b/common/config.py @@ -7,11 +7,12 @@ from __future__ import annotations from functools import lru_cache +from typing import Annotated from urllib.parse import quote_plus from zoneinfo import ZoneInfo from pydantic import Field, field_validator -from pydantic_settings import BaseSettings, SettingsConfigDict +from pydantic_settings import BaseSettings, NoDecode, SettingsConfigDict class Settings(BaseSettings): @@ -43,7 +44,9 @@ class Settings(BaseSettings): alert_chat_id: int = 0 #: Telegram-ID, которым доступ разрешён в обход проверки членства. - admin_ids: list[int] = Field(default_factory=list) + #: NoDecode — чтобы pydantic-settings не пытался JSON-декодировать значение + #: (поддерживаем формат "1,2,3" и пустое значение через валидатор ниже). + admin_ids: Annotated[list[int], NoDecode] = Field(default_factory=list) timezone: str = "Europe/Moscow"