channel require and db update

This commit is contained in:
machka pasla
2025-10-17 09:36:25 +03:00
parent 51ffbbfa1d
commit c3622d9c2b
12 changed files with 541 additions and 58 deletions
+13
View File
@@ -23,6 +23,12 @@ class Settings(BaseSettings):
SUPPORT_LINK: Optional[str] = Field(default=None)
SERVER_STATUS_URL: Optional[str] = Field(default=None)
TERMS_OF_SERVICE_URL: Optional[str] = Field(default=None)
REQUIRED_CHANNEL_ID: Optional[int] = Field(
default=None,
description="Telegram channel ID the user must join to access the bot")
REQUIRED_CHANNEL_LINK: Optional[str] = Field(
default=None,
description="Public username or invite link to the required channel for join button")
YOOKASSA_SHOP_ID: Optional[str] = None
YOOKASSA_SECRET_KEY: Optional[str] = None
@@ -352,6 +358,13 @@ class Settings(BaseSettings):
if isinstance(v, str) and v.strip() == '':
return None
return v
@field_validator('REQUIRED_CHANNEL_LINK', mode='before')
@classmethod
def sanitize_optional_link(cls, v):
if isinstance(v, str) and not v.strip():
return None
return v
# Notification types
LOG_NEW_USERS: bool = Field(default=True, description="Send notifications for new user registrations")