from__future__importannotationsfromdataclassesimportdataclassfromtypingimportTYPE_CHECKING,Any,Optionalfromaiogram.utils.dataclassimportdataclass_kwargsifTYPE_CHECKING:fromaiogram.typesimportLinkPreviewOptions# @dataclass ??classDefault:# Is not a dataclass because of JSON serialization.__slots__=("_name",)def__init__(self,name:str)->None:self._name=name@propertydefname(self)->str:returnself._namedef__str__(self)->str:returnf"Default({self._name!r})"def__repr__(self)->str:returnf"<{self}>"
[docs]@dataclass(**dataclass_kwargs(slots=True,kw_only=True))classDefaultBotProperties:""" Default bot properties. """parse_mode:Optional[str]=None"""Default parse mode for messages."""disable_notification:Optional[bool]=None"""Sends the message silently. Users will receive a notification with no sound."""protect_content:Optional[bool]=None"""Protects content from copying."""allow_sending_without_reply:Optional[bool]=None"""Allows to send messages without reply."""link_preview:Optional[LinkPreviewOptions]=None"""Link preview settings."""link_preview_is_disabled:Optional[bool]=None"""Disables link preview."""link_preview_prefer_small_media:Optional[bool]=None"""Prefer small media in link preview."""link_preview_prefer_large_media:Optional[bool]=None"""Prefer large media in link preview."""link_preview_show_above_text:Optional[bool]=None"""Show link preview above text."""show_caption_above_media:Optional[bool]=None"""Show caption above media."""def__post_init__(self)->None:has_any_link_preview_option=any((self.link_preview_is_disabled,self.link_preview_prefer_small_media,self.link_preview_prefer_large_media,self.link_preview_show_above_text,))ifhas_any_link_preview_optionandself.link_previewisNone:from..typesimportLinkPreviewOptionsself.link_preview=LinkPreviewOptions(is_disabled=self.link_preview_is_disabled,prefer_small_media=self.link_preview_prefer_small_media,prefer_large_media=self.link_preview_prefer_large_media,show_above_text=self.link_preview_show_above_text,)def__getitem__(self,item:str)->Any:returngetattr(self,item,None)