models.py 712 B

1234567891011121314151617181920
  1. from typing import List, Literal, Optional, TypeAlias
  2. from pydantic import BaseModel, SecretStr
  3. ForwardingType: TypeAlias = Literal["text", "photo", "video"]
  4. LoggingLevel: TypeAlias = Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
  5. class Bot(BaseModel):
  6. token: Optional[SecretStr] = None
  7. timeout: int = 10
  8. class Forwarding(BaseModel):
  9. target_chat_id: Optional[int] = None
  10. message_template: str = "У вас новое сообщение!\n%s"
  11. types: List[ForwardingType] = ["text"]
  12. class Logging(BaseModel):
  13. level: LoggingLevel = "INFO"
  14. fmt: Optional[str] = "%(asctime)s.%(msecs)03d %(levelname)s [%(name)s] %(message)s"
  15. date_fmt: Optional[str] = "%Y-%m-%d %H:%M:%S"