U
    Cd                  .   @   s~  U d Z ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.g.Zd/d0lZd/d1lmZmZ d/d2lmZmZ G d3d4 d4eZ	e	d5d6d7Z
ee
Zd8d9d:d;gZee ed)< G d<d deZG d=d deZG d>d deZG d?d deZG d@d deZG dAd deZG dBd	 d	eZG dCd
 d
eZG dDd deZG dEd deZG dFd deZG dGd deZG dHd deZG dId deZG dJd deZG dKd deZG dLd deZ G dMd deZ!G dNd deZ"G dOd deZ#G dPd deZ$G dQd deZ%G dRd deZ&G dSd deZ'G dTd deZ(G dUd deZ)G dVd deZ*G dWd  d eZ+G dXd! d!eZ,G dYd" d"eZ-G dZd# d#eZ.G d[d$ d$eZ/G d\d( d(eZ0G d]d* d*eZ1G d^d+ d+eZ2G d_d% d%eZ3G d`d& d&eZ4G dad' d'eZ5G dbd- d-eZ6G dcd deZ7G ddd. d.eZ8G ded, d,eZ9G dfd deZ:d0S )gaI  This module contains several constants that are relevant for working with the Bot API.

Unless noted otherwise, all constants in this module were extracted from the
`Telegram Bots FAQ <https://core.telegram.org/bots/faq>`_ and
`Telegram Bots API <https://core.telegram.org/bots/api>`_.

Most of the following constants are related to specific classes or topics and are grouped into
enums. If they are related to a specific class, then they are also available as attributes of
those classes.

.. versionchanged:: 20.0

    * Most of the constants in this module are grouped into enums.
BOT_API_VERSIONBOT_API_VERSION_INFOBotCommandLimitBotCommandScopeTypeCallbackQueryLimit
ChatActionChatIDChatInviteLinkLimit	ChatLimitChatMemberStatusChatPhotoSizeChatTypeContactLimitCustomEmojiStickerLimit	DiceEmoji	DiceLimitFileSizeLimit
FloodLimitForumIconColorForumTopicLimitInlineKeyboardButtonLimitInlineKeyboardMarkupLimitInlineQueryLimitInlineQueryResultLimitInlineQueryResultTypeInputMediaTypeInvoiceLimitLocationLimitMaskPositionMediaGroupLimitMenuButtonTypeMessageAttachmentTypeMessageEntityTypeMessageLimitMessageTypePollingLimit	ParseMode	PollLimitPollType
ReplyLimitSUPPORTED_WEBHOOK_PORTSStickerLimitStickerTypeWebhookLimit
UpdateTypeUserProfilePhotosLimit    N)List
NamedTuple)IntEnum
StringEnumc                   @   s>   e Zd ZU dZeed< eed< edddZedddZd	S )
_BotAPIVersionz{Similar behavior to sys.version_info.
    So far TG has only published X.Y releases. We can add X.Y.Z(a(S)) if needed.
    majorminor)returnc                 C   s   d| j  d| j dS )ztUnfortunately calling super().__repr__ doesn't work with typing.NamedTuple, so we
        do this manually.
        zBotAPIVersion(major=z, minor=)r5   r6   self r<   6/tmp/pip-unpacked-wheel-lq2jhmkx/telegram/constants.py__repr__a   s    z_BotAPIVersion.__repr__c                 C   s   | j  d| j S )N.r9   r:   r<   r<   r=   __str__g   s    z_BotAPIVersion.__str__N)	__name__
__module____qualname____doc__int__annotations__strr>   r@   r<   r<   r<   r=   r4   Y   s
   
r4         r9   i  P   X   i   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )r   zThis enum contains limitations for :class:`telegram.BotCommand` and
    :meth:`telegram.Bot.set_my_commands`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<             d   N)
rA   rB   rC   rD   	__slots__ZMIN_COMMANDZMAX_COMMANDZMIN_DESCRIPTIONZMAX_DESCRIPTIONZMAX_COMMAND_NUMBERr<   r<   r<   r=   r      s   c                   @   s0   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )r   zThis enum contains the available types of :class:`telegram.BotCommandScope`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   defaultZall_private_chatsZall_group_chatsZall_chat_administratorsZchatZchat_administratorschat_memberN)rA   rB   rC   rD   rP   DEFAULTZALL_PRIVATE_CHATSZALL_GROUP_CHATSZALL_CHAT_ADMINISTRATORSZCHATZCHAT_ADMINISTRATORSCHAT_MEMBERr<   r<   r<   r=   r      s   c                   @   s   e Zd ZdZdZdZdS )r   zThis enum contains limitations for :class:`telegram.CallbackQuery`/
    :meth:`telegram.Bot.answer_callback_query`. The enum members of this enumeration are instances
    of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<      N)rA   rB   rC   rD   rP   Z!ANSWER_CALLBACK_QUERY_TEXT_LENGTHr<   r<   r<   r=   r      s   c                   @   s@   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdS )r   zThis enum contains the available chat actions for :meth:`telegram.Bot.send_chat_action`.
    The enum members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   Zchoose_stickerZfind_locationZrecord_voiceZrecord_videoZrecord_video_notetypingZupload_voiceZupload_documentZupload_photoZupload_videoZupload_video_noteN)rA   rB   rC   rD   rP   ZCHOOSE_STICKERZFIND_LOCATIONZRECORD_VOICEZRECORD_VIDEOZRECORD_VIDEO_NOTEZTYPINGZUPLOAD_VOICEZUPLOAD_DOCUMENTZUPLOAD_PHOTOZUPLOAD_VIDEOZUPLOAD_VIDEO_NOTEr<   r<   r<   r=   r      s   c                   @   s    e Zd ZdZdZdZdZdZdS )r   zThis enum contains some special chat IDs. The enum
    members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   i8@i( i'N)rA   rB   rC   rD   rP   ZANONYMOUS_ADMINZSERVICE_CHATZFAKE_CHANNELr<   r<   r<   r=   r      s   c                   @   s    e Zd ZdZdZdZdZdZdS )r   a%  This enum contains limitations for :class:`telegram.ChatInviteLink`/
    :meth:`telegram.Bot.create_chat_invite_link`/:meth:`telegram.Bot.edit_chat_invite_link`. The
    enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   i rM   N)rA   rB   rC   rD   rP   ZMIN_MEMBER_LIMITZMAX_MEMBER_LIMITZNAME_LENGTHr<   r<   r<   r=   r     s   c                   @   s$   e Zd ZdZdZdZdZdZdZdS )r	   a<  This enum contains limitations for
    :meth:`telegram.Bot.set_chat_administrator_custom_title`,
    :meth:`telegram.Bot.set_chat_description`, and :meth:`telegram.Bot.set_chat_title`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<         rL      N)	rA   rB   rC   rD   rP   Z&CHAT_ADMINISTRATOR_CUSTOM_TITLE_LENGTHZCHAT_DESCRIPTION_LENGTHZMIN_CHAT_TITLE_LENGTHZMAX_CHAT_TITLE_LENGTHr<   r<   r<   r=   r	   /  s   c                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
r
   zThis enum contains the available states for :class:`telegram.ChatMember`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   ZadministratorZcreatorZkickedleftmemberZ
restrictedN)rA   rB   rC   rD   rP   ZADMINISTRATORZOWNERZBANNEDLEFTZMEMBERZ
RESTRICTEDr<   r<   r<   r=   r
   P  s   c                   @   s   e Zd ZdZdZdZdZdS )r   zThis enum contains limitations for :class:`telegram.ChatPhoto`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<      i  N)rA   rB   rC   rD   rP   ZSMALLZBIGr<   r<   r<   r=   r   g  s
   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	r   zThis enum contains the available types of :class:`telegram.Chat`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   ZsenderprivategroupZ
supergroupZchannelN)
rA   rB   rC   rD   rP   ZSENDERZPRIVATEZGROUPZ
SUPERGROUPZCHANNELr<   r<   r<   r=   r   ~  s   c                   @   s   e Zd ZdZdZdZdS )r   a+  This enum contains limitations for :class:`telegram.InlineQueryResultContact`,
    :class:`telegram.InputContactMessageContent`, and :meth:`telegram.Bot.send_contact`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   i   N)rA   rB   rC   rD   rP   ZVCARDr<   r<   r<   r=   r     s   c                   @   s   e Zd ZdZdZdZdS )r   zThis enum contains limitations for :meth:`telegram.Bot.get_custom_emoji_stickers`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rU   N)rA   rB   rC   rD   rP   ZCUSTOM_EMOJI_IDENTIFIER_LIMITr<   r<   r<   r=   r     s   c                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
r   zThis enum contains the available emoji for :class:`telegram.Dice`/
    :meth:`telegram.Bot.send_dice`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   u   🎲u   🎯u   🏀u   ⚽u   🎰u   🎳N)rA   rB   rC   rD   rP   DICEZDARTSZ
BASKETBALLZFOOTBALLZSLOT_MACHINEZBOWLINGr<   r<   r<   r=   r     s   c                   @   s0   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdS )r   zThis enum contains limitations for :class:`telegram.Dice`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   rI   rH   @   N)rA   rB   rC   rD   rP   Z	MIN_VALUEZMAX_VALUE_BASKETBALLZMAX_VALUE_BOWLINGZMAX_VALUE_DARTSZMAX_VALUE_DICEZMAX_VALUE_FOOTBALLZMAX_VALUE_SLOT_MACHINEr<   r<   r<   r=   r     s   c                   @   sB   e Zd ZdZdZedZedZedZe	j
ZedZedZdS )	r   zThis enum contains limitations regarding the upload and download of files. The enum
    members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   g    sAg    ׇAg    eAg    cAg    .AN)rA   rB   rC   rD   rP   rE   ZFILESIZE_DOWNLOADZFILESIZE_UPLOADZFILESIZE_UPLOAD_LOCAL_MODEsysmaxsizeZFILESIZE_DOWNLOAD_LOCAL_MODEZPHOTOSIZE_UPLOADZVOICE_NOTE_FILE_SIZEr<   r<   r<   r=   r     s   c                   @   s    e Zd ZdZdZdZdZdZdS )r   zThis enum contains limitations regarding flood limits. The enum
    members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL         N)rA   rB   rC   rD   rP   ZMESSAGES_PER_SECOND_PER_CHATZMESSAGES_PER_SECONDZMESSAGES_PER_MINUTE_PER_GROUPr<   r<   r<   r=   r     s   c                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
r   zThis enum contains the available colors for use in
    :paramref:`telegram.Bot.create_forum_topic.icon_color`. The enum members of this enumeration
    are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   io i~ iۆ i i i_o N)rA   rB   rC   rD   rP   BLUEYELLOWZPURPLEGREENZPINKREDr<   r<   r<   r=   r   4  s   c                   @   s   e Zd ZdZdZdZdZdS )r   zThis enum contains limitations for :class:`telegram.InlineKeyboardButton`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   ra   N)rA   rB   rC   rD   rP   ZMIN_CALLBACK_DATAZMAX_CALLBACK_DATAr<   r<   r<   r=   r   p  s
   c                   @   s   e Zd ZdZdZdZdZdS )r   zThis enum contains limitations for :class:`telegram.InlineKeyboardMarkup`/
    :meth:`telegram.Bot.send_message` & friends. The enum
    members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rO      N)rA   rB   rC   rD   rP   ZTOTAL_BUTTON_NUMBERZBUTTONS_PER_ROWr<   r<   r<   r=   r     s
   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	r   zThis enum contains the available types of :class:`telegram.InputMedia`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   	animationdocumentaudiophotovideoN)
rA   rB   rC   rD   rP   	ANIMATIONDOCUMENTAUDIOPHOTOVIDEOr<   r<   r<   r=   r     s   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )r   zThis enum contains limitations for :class:`telegram.InlineQuery`/
    :meth:`telegram.Bot.answer_inline_query`. The enum members of this enumeration are instances
    of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   2   ra   rN   rL   N)
rA   rB   rC   rD   rP   ZRESULTSZMAX_OFFSET_LENGTHZMAX_QUERY_LENGTHZMIN_SWITCH_PM_TEXT_LENGTHZMAX_SWITCH_PM_TEXT_LENGTHr<   r<   r<   r=   r     s   c                   @   s   e Zd ZdZdZdZdZdS )r   zThis enum contains limitations for :class:`telegram.InlineQueryResult` and its subclasses.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   ra   N)rA   rB   rC   rD   rP   ZMIN_ID_LENGTHZMAX_ID_LENGTHr<   r<   r<   r=   r     s
   c                   @   sH   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdS )r   zThis enum contains the available types of :class:`telegram.InlineQueryResult`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   rm   rl   ZgifZ	mpeg4_gifrn   stickerro   voicearticlecontactgamelocationvenueN)rA   rB   rC   rD   rP   rr   rq   ZGIFZMPEG4GIFrs   STICKERrt   VOICEZARTICLECONTACTGAMELOCATIONVENUEr<   r<   r<   r=   r     s    c                   @   s8   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZd	Zd
S )r   a=  This enum contains limitations for
    :class:`telegram.Location`/:class:`telegram.ChatLocation`/
    :meth:`telegram.Bot.edit_message_live_location`/:meth:`telegram.Bot.send_location`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   ra   i  ih  <   iQ i N)rA   rB   rC   rD   rP   ZMIN_CHAT_LOCATION_ADDRESSZMAX_CHAT_LOCATION_ADDRESSZHORIZONTAL_ACCURACYZMIN_HEADINGZMAX_HEADINGZMIN_LIVE_PERIODZMAX_LIVE_PERIODZMIN_PROXIMITY_ALERT_RADIUSZMAX_PROXIMITY_ALERT_RADIUSr<   r<   r<   r=   r     s   c                   @   s$   e Zd ZdZdZdZdZdZdZdS )r   zThis enum contains the available positions for :class:`telegram.MaskPosition`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   ZforeheadZeyesZmouthZchinN)	rA   rB   rC   rD   rP   ZFOREHEADZEYESZMOUTHZCHINr<   r<   r<   r=   r     s   c                   @   s   e Zd ZdZdZdZdZdS )r   zThis enum contains limitations for :meth:`telegram.Bot.send_media_group`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<      
   N)rA   rB   rC   rD   rP   ZMIN_MEDIA_LENGTHZMAX_MEDIA_LENGTHr<   r<   r<   r=   r     s
   c                   @   s    e Zd ZdZdZdZdZdZdS )r   zThis enum contains the available types of :class:`telegram.MenuButton`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   commandsZweb_apprQ   N)rA   rB   rC   rD   rP   ZCOMMANDSZWEB_APPrS   r<   r<   r<   r=   r     s   c                   @   sX   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdS )r    This enum contains the available types of :class:`telegram.Message` that can be seen
    as attachment. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   rk   rm   ry   dicerl   rz   invoicer{   passport_datarn   pollrv   successful_paymentro   
video_noterw   r|   N)rA   rB   rC   rD   rP   rp   rr   r   r`   rq   r   INVOICEr   PASSPORT_DATArs   POLLr}   SUCCESSFUL_PAYMENTrt   
VIDEO_NOTEr~   r   r<   r<   r<   r=   r      s(   c                   @   sX   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdS )r!   zThis enum contains the available types of :class:`telegram.MessageEntity`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   ZmentionZhashtagZcashtagZphone_numberZbot_commandurlemailZboldZitaliccodepreZ	text_linkZtext_mentionZ	underlineZstrikethroughZspoilercustom_emojiN)rA   rB   rC   rD   rP   ZMENTIONZHASHTAGZCASHTAGZPHONE_NUMBERZBOT_COMMANDURLZEMAILZBOLDZITALICZCODEZPREZ	TEXT_LINKZTEXT_MENTIONZ	UNDERLINEZSTRIKETHROUGHZSPOILERCUSTOM_EMOJIr<   r<   r<   r=   r!     s(   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	r"   a!  This enum contains limitations for :class:`telegram.Message`/
    :class:`telegram.InputTextMessageContent`/
    :meth:`telegram.Bot.send_message` & friends. The enum
    members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   i   i   rL   ra   rO   N)
rA   rB   rC   rD   rP   ZMAX_TEXT_LENGTHZCAPTION_LENGTHZMIN_TEXT_LENGTHZDEEP_LINK_LENGTHZMESSAGE_ENTITIESr<   r<   r<   r=   r"   "  s   c                   @   s   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&S )'r#   r   r<   rk   rm   ry   r   rl   rz   r   r{   r   rn   r   rv   r   ro   r   rw   r|   textZnew_chat_membersZleft_chat_memberZnew_chat_titleZnew_chat_photoZdelete_chat_photoZgroup_chat_createdZsupergroup_chat_createdZchannel_chat_createdZ!message_auto_delete_timer_changedZmigrate_to_chat_idZmigrate_from_chat_idZpinned_messageZproximity_alert_triggeredZvideo_chat_scheduledZvideo_chat_startedZvideo_chat_endedZvideo_chat_participants_invitedN)(rA   rB   rC   rD   rP   rp   rr   r   r`   rq   r   r   r   r   rs   r   r}   r   rt   r   r~   r   ZTEXTZNEW_CHAT_MEMBERSZLEFT_CHAT_MEMBERZNEW_CHAT_TITLEZNEW_CHAT_PHOTOZDELETE_CHAT_PHOTOZGROUP_CHAT_CREATEDZSUPERGROUP_CHAT_CREATEDZCHANNEL_CHAT_CREATEDZ!MESSAGE_AUTO_DELETE_TIMER_CHANGEDZMIGRATE_TO_CHAT_IDZMIGRATE_FROM_CHAT_IDZPINNED_MESSAGEZPROXIMITY_ALERT_TRIGGEREDZVIDEO_CHAT_SCHEDULEDZVIDEO_CHAT_STARTEDZVIDEO_CHAT_ENDEDZVIDEO_CHAT_PARTICIPANTS_INVITEDr<   r<   r<   r=   r#   Z  sL   c                   @   s   e Zd ZdZdZdZdZdS )r$   zThis enum contains limitations for :paramref:`telegram.Bot.get_updates.limit`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   rO   NrA   rB   rC   rD   rP   Z	MIN_LIMITZ	MAX_LIMITr<   r<   r<   r=   r$     s
   c                   @   s   e Zd ZdZdZdZdZdS )r(   zThis enum contains limitations for :class:`telegram.ForceReply`
    and :class:`telegram.ReplyKeyboardMarkup`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   ra   N)rA   rB   rC   rD   rP   ZMIN_INPUT_FIELD_PLACEHOLDERZMAX_INPUT_FIELD_PLACEHOLDERr<   r<   r<   r=   r(     s
   c                   @   s   e Zd ZdZdZdZdZdS )r*   zThis enum contains limitations for :meth:`telegram.Bot.create_new_sticker_set`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   ra   N)rA   rB   rC   rD   rP   ZMIN_NAME_AND_TITLEZMAX_NAME_AND_TITLEr<   r<   r<   r=   r*     s
   c                   @   s    e Zd ZdZdZdZdZdZdS )r+   zThis enum contains the available types of :class:`telegram.Sticker`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   regularmaskr   N)rA   rB   rC   rD   rP   REGULARMASKr   r<   r<   r<   r=   r+     s   c                   @   s    e Zd ZdZdZdZdZdZdS )r%   zThis enum contains the available parse modes. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   ZMarkdownZ
MarkdownV2HTMLN)rA   rB   rC   rD   rP   ZMARKDOWNZMARKDOWN_V2r   r<   r<   r<   r=   r%     s   c                   @   s<   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZd	Zd
ZdS )r&   zThis enum contains limitations for :class:`telegram.Poll`/:class:`telegram.PollOption`/
    :meth:`telegram.Bot.send_poll`. The enum
    members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   i,  rO   r   r   rU   rI   iX  N)rA   rB   rC   rD   rP   ZMIN_QUESTION_LENGTHZMAX_QUESTION_LENGTHZMIN_OPTION_LENGTHZMAX_OPTION_LENGTHZMIN_OPTION_NUMBERZMAX_OPTION_NUMBERZMAX_EXPLANATION_LENGTHZMAX_EXPLANATION_LINE_FEEDSZMIN_OPEN_PERIODZMAX_OPEN_PERIODr<   r<   r<   r=   r&     s   c                   @   s   e Zd ZdZdZdZdZdS )r'   zThis enum contains the available types for :class:`telegram.Poll`/
    :meth:`telegram.Bot.send_poll`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   r   ZquizN)rA   rB   rC   rD   rP   r   ZQUIZr<   r<   r<   r=   r'   \  s
   c                   @   sL   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdS )r-   zThis enum contains the available types of :class:`telegram.Update`. The enum
    members of this enumeration are instances of :class:`str` and can be treated as such.

    .. versionadded:: 20.0
    r<   messageZedited_messageZchannel_postZedited_channel_postZinline_queryZchosen_inline_resultZcallback_queryZshipping_queryZpre_checkout_queryr   Zpoll_answerZmy_chat_memberrR   Zchat_join_requestN)rA   rB   rC   rD   rP   ZMESSAGEZEDITED_MESSAGEZCHANNEL_POSTZEDITED_CHANNEL_POSTZINLINE_QUERYZCHOSEN_INLINE_RESULTZCALLBACK_QUERYZSHIPPING_QUERYZPRE_CHECKOUT_QUERYr   ZPOLL_ANSWERZMY_CHAT_MEMBERrT   ZCHAT_JOIN_REQUESTr<   r<   r<   r=   r-   l  s"   c                   @   s0   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdS )	r   a)  This enum contains limitations for :class:`telegram.InputInvoiceMessageContent`,
    :meth:`telegram.Bot.send_invoice`, and :meth:`telegram.Bot.create_invoice_link`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   rM   rX   rY      N)rA   rB   rC   rD   rP   ZMIN_TITLE_LENGTHZMAX_TITLE_LENGTHZMIN_DESCRIPTION_LENGTHZMAX_DESCRIPTION_LENGTHZMIN_PAYLOAD_LENGTHZMAX_PAYLOAD_LENGTHZMAX_TIP_AMOUNTSr<   r<   r<   r=   r     s   





c                   @   s   e Zd ZdZdZdZdZdS )r.   zThis enum contains limitations for :paramref:`telegram.Bot.get_user_profile_photos.limit`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   rO   Nr   r<   r<   r<   r=   r.     s
   c                   @   s$   e Zd ZdZdZdZdZdZdZdS )r,   a  This enum contains limitations for :paramref:`telegram.Bot.set_webhook.max_connections` and
    :paramref:`telegram.Bot.set_webhook.secret_token`. The enum members of this enumeration are
    instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   rO   rN   N)	rA   rB   rC   rD   rP   ZMIN_CONNECTIONS_LIMITZMAX_CONNECTIONS_LIMITZMIN_SECRET_TOKEN_LENGTHZMAX_SECRET_TOKEN_LENGTHr<   r<   r<   r=   r,     s   c                   @   s   e Zd ZdZdZdZdZdS )r   a  This enum contains limitations for :paramref:`telegram.Bot.create_forum_topic.name` and
    :paramref:`telegram.Bot.edit_forum_topic.name`.
    The enum members of this enumeration are instances of :class:`int` and can be treated as such.

    .. versionadded:: 20.0
    r<   rL   rY   N)rA   rB   rC   rD   rP   ZMIN_NAME_LENGTHZMAX_NAME_LENGTHr<   r<   r<   r=   r     s
   
);rD   __all__rb   rV   r0   r1   Ztelegram._utils.enumr2   r3   r4   r   rG   r   r)   rE   rF   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r(   r*   r+   r%   r&   r'   r-   r   r.   r,   r   r<   r<   r<   r=   <module>   s   1!!"!!.<3p108W@'P 