
    di                      b    d Z ddlZddlmZ ddlmZ ddlmZ ddl	m
Z
mZ  G d de          ZdS )	z@This module contains an object that represents a Telegram Voice.    N)_BaseMedium)to_timedelta)get_timedelta_value)JSONDict
TimePeriodc                        e Zd ZdZdZ	 	 ddddededededz  d	edz  d
edz  f fdZ	e
deej        z  fd            Z xZS )Voicea=  This object represents a voice note.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`file_unique_id` is equal.

    Args:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        duration (:obj:`int` | :class:`datetime.timedelta`): Duration of the audio in
            seconds as defined by the sender.

            .. versionchanged:: v22.2
                |time-period-input|
        mime_type (:obj:`str`, optional): MIME type of the file as defined by the sender.
        file_size (:obj:`int`, optional): File size in bytes.

    Attributes:
        file_id (:obj:`str`): Identifier for this file, which can be used to download
            or reuse the file.
        file_unique_id (:obj:`str`): Unique identifier for this file, which
            is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        duration (:obj:`int` | :class:`datetime.timedelta`): Duration of the audio in seconds as
            defined by the sender.

            .. deprecated:: v22.2
                |time-period-int-deprecated|
        mime_type (:obj:`str`): Optional. MIME type of the file as defined by the sender.
        file_size (:obj:`int`): Optional. File size in bytes.

    )	_duration	mime_typeN)
api_kwargsfile_idfile_unique_iddurationr   	file_sizer   c                    t                                          ||||           |                                 5  t          |          | _        || _        d d d            d S # 1 swxY w Y   d S )N)r   r   r   r   )super__init__	_unfrozenr   r
   r   )selfr   r   r   r   r   r   	__class__s          R/root/projects/qq-shell/venv/lib/python3.11/site-packages/telegram/_files/voice.pyr   zVoice.__init__C   s     	)!	 	 	
 	
 	
 ^^ 	3 	3,8,B,BDN)2DN		3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   A$$A(+A(returnc                 .    t          | j        d          S )Nr   )	attribute)r   r
   )r   s    r   r   zVoice.durationY   s     "Nj
 
 
 	
    )NN)__name__
__module____qualname____doc__	__slots__strr   intr   r   propertydtm	timedeltar   __classcell__)r   s   @r   r	   r	      s        ! !F +I !% $3 '+3 3 33 3 	3
 :3 :3 tO3 3 3 3 3 3, 
#- 
 
 
 X
 
 
 
 
r   r	   )r   datetimer$   telegram._files._basemediumr   telegram._utils.argumentparsingr   telegram._utils.datetimer   telegram._utils.typesr   r   r	    r   r   <module>r-      s   & G F     3 3 3 3 3 3 8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 6 6@
 @
 @
 @
 @
K @
 @
 @
 @
 @
r   