U
    2tc.8                     @   s  U d Z ddlmZ dZeed< dZeed< dZeed< d	Z	eed
< dZ
eed< dZeed< ddddgZee ed< edZeed< edZeed< edZeed< dZeed< dZeed< dZeed< d Zeed!< d"Zeed#< d$Zeed%< d&Zeed'< d(Zeed)< d*Zeed+< d,Zeed-< d.Zeed/< d0Zeed1< d2Zeed3< d4Zeed5< d6Zeed7< d8Zeed9< d:Z eed;< d<Z!eed=< d>Z"eed?< d@Z#eedA< dBZ$eedC< dDZ%eedE< dFZ&eedG< dHZ'eedI< dJZ(eedK< dLZ)eedM< dNZ*eedO< dPZ+eedQ< dRZ,eedS< dTZ-eedU< dVZ.eedW< dXZ/eedY< dZZ0eed[< d\Z1eed]< d^Z2eed_< d`Z3eeda< e.e/e0e1e2e3gZ4ee edb< dcZ5eedd< deZ6eedf< dgZ7eedh< diZ8eedj< dkZ9eedl< dmZ:eedn< doZ;eedp< dqZ<eedr< dsZ=eedt< duZ>eedv< dwZ?eedx< dyZ@eedz< d{ZAeed|< d}ZBeed~< dZCeed< dZDeed< dZEeed< e5e6e7e8e9e:e;e<e=e>e?e@eAeBeCeDeEgZFee ed< dZGeed< dZHeed< dZIeed< dZJeed< dZKeed< dZLeed< d ZMeed< dZNeed< dZOeed< dZPeed< dZQeed< dZReed< dZSeed< dZTeed< dZUdZVdZWdZXdZYdZZdZ[dZ\dZ]dZ^dZ_dZ`dZadZbeUeVeWeXeYeZe[e\e]e^e_e`eaebgZcdZddZedZfdZgdZhdZidZjdZkdZldZmdS )u?!  Constants in the Telegram network.

The following constants were extracted from the
`Telegram Bots FAQ <https://core.telegram.org/bots/faq>`_ and
`Telegram Bots API <https://core.telegram.org/bots/api>`_.

Attributes:
    BOT_API_VERSION (:obj:`str`): `6.2`. Telegram Bot API version supported by this
        version of `python-telegram-bot`. Also available as ``telegram.bot_api_version``.

        .. versionadded:: 13.4
    MAX_MESSAGE_LENGTH (:obj:`int`): 4096
    MAX_CAPTION_LENGTH (:obj:`int`): 1024
    SUPPORTED_WEBHOOK_PORTS (List[:obj:`int`]): [443, 80, 88, 8443]
    MAX_FILESIZE_DOWNLOAD (:obj:`int`): In bytes (20MB)
    MAX_FILESIZE_UPLOAD (:obj:`int`): In bytes (50MB)
    MAX_PHOTOSIZE_UPLOAD (:obj:`int`): In bytes (10MB)
    MAX_MESSAGES_PER_SECOND_PER_CHAT (:obj:`int`): `1`. Telegram may allow short bursts that go
        over this limit, but eventually you'll begin receiving 429 errors.
    MAX_MESSAGES_PER_SECOND (:obj:`int`): 30
    MAX_MESSAGES_PER_MINUTE_PER_GROUP (:obj:`int`): 20
    MAX_INLINE_QUERY_RESULTS (:obj:`int`): 50
    MAX_ANSWER_CALLBACK_QUERY_TEXT_LENGTH (:obj:`int`): 200

        .. versionadded:: 13.2

The following constant have been found by experimentation:

Attributes:
    MAX_MESSAGE_ENTITIES (:obj:`int`): 100 (Beyond this cap telegram will simply ignore further
        formatting styles)
    ANONYMOUS_ADMIN_ID (:obj:`int`): ``1087968824`` (User id in groups for anonymous admin)
    SERVICE_CHAT_ID (:obj:`int`): ``777000`` (Telegram service chat, that also acts as sender of
        channel posts forwarded to discussion groups)
    FAKE_CHANNEL_ID (:obj:`int`): ``136817688`` (User id in groups when message is sent on behalf
        of a channel).

        .. versionadded:: 13.9

The following constants are related to specific classes and are also available
as attributes of those classes:

:class:`telegram.Chat`:

Attributes:
    CHAT_PRIVATE (:obj:`str`): ``'private'``
    CHAT_GROUP (:obj:`str`): ``'group'``
    CHAT_SUPERGROUP (:obj:`str`): ``'supergroup'``
    CHAT_CHANNEL (:obj:`str`): ``'channel'``
    CHAT_SENDER (:obj:`str`): ``'sender'``. Only relevant for
        :attr:`telegram.InlineQuery.chat_type`.

        .. versionadded:: 13.5

:class:`telegram.ChatAction`:

Attributes:
    CHATACTION_FIND_LOCATION (:obj:`str`): ``'find_location'``
    CHATACTION_RECORD_AUDIO (:obj:`str`): ``'record_audio'``

        .. deprecated:: 13.5
           Deprecated by Telegram. Use :const:`CHATACTION_RECORD_VOICE` instead.
    CHATACTION_RECORD_VOICE (:obj:`str`): ``'record_voice'``

        .. versionadded:: 13.5
    CHATACTION_RECORD_VIDEO (:obj:`str`): ``'record_video'``
    CHATACTION_RECORD_VIDEO_NOTE (:obj:`str`): ``'record_video_note'``
    CHATACTION_TYPING (:obj:`str`): ``'typing'``
    CHATACTION_UPLOAD_AUDIO (:obj:`str`): ``'upload_audio'``

        .. deprecated:: 13.5
           Deprecated by Telegram. Use :const:`CHATACTION_UPLOAD_VOICE` instead.
    CHATACTION_UPLOAD_VOICE (:obj:`str`): ``'upload_voice'``

        .. versionadded:: 13.5
    CHATACTION_UPLOAD_DOCUMENT (:obj:`str`): ``'upload_document'``
    CHATACTION_CHOOSE_STICKER (:obj:`str`): ``'choose_sticker'``

        .. versionadded:: 13.8
    CHATACTION_UPLOAD_PHOTO (:obj:`str`): ``'upload_photo'``
    CHATACTION_UPLOAD_VIDEO (:obj:`str`): ``'upload_video'``
    CHATACTION_UPLOAD_VIDEO_NOTE (:obj:`str`): ``'upload_video_note'``

:class:`telegram.ChatMember`:

Attributes:
    CHATMEMBER_ADMINISTRATOR (:obj:`str`): ``'administrator'``
    CHATMEMBER_CREATOR (:obj:`str`): ``'creator'``
    CHATMEMBER_KICKED (:obj:`str`): ``'kicked'``
    CHATMEMBER_LEFT (:obj:`str`): ``'left'``
    CHATMEMBER_MEMBER (:obj:`str`): ``'member'``
    CHATMEMBER_RESTRICTED (:obj:`str`): ``'restricted'``

:class:`telegram.Dice`:

Attributes:
    DICE_DICE (:obj:`str`): ``'🎲'``
    DICE_DARTS (:obj:`str`): ``'🎯'``
    DICE_BASKETBALL (:obj:`str`): ``'🏀'``
    DICE_FOOTBALL (:obj:`str`): ``'⚽'``
    DICE_SLOT_MACHINE (:obj:`str`): ``'🎰'``
    DICE_BOWLING (:obj:`str`): ``'🎳'``

        .. versionadded:: 13.4
    DICE_ALL_EMOJI (List[:obj:`str`]): List of all supported base emoji.

        .. versionchanged:: 13.4
            Added :attr:`DICE_BOWLING`

:class:`telegram.MessageEntity`:

Attributes:
    MESSAGEENTITY_MENTION (:obj:`str`): ``'mention'``
    MESSAGEENTITY_HASHTAG (:obj:`str`): ``'hashtag'``
    MESSAGEENTITY_CASHTAG (:obj:`str`): ``'cashtag'``
    MESSAGEENTITY_PHONE_NUMBER (:obj:`str`): ``'phone_number'``
    MESSAGEENTITY_BOT_COMMAND (:obj:`str`): ``'bot_command'``
    MESSAGEENTITY_URL (:obj:`str`): ``'url'``
    MESSAGEENTITY_EMAIL (:obj:`str`): ``'email'``
    MESSAGEENTITY_BOLD (:obj:`str`): ``'bold'``
    MESSAGEENTITY_ITALIC (:obj:`str`): ``'italic'``
    MESSAGEENTITY_CODE (:obj:`str`): ``'code'``
    MESSAGEENTITY_PRE (:obj:`str`): ``'pre'``
    MESSAGEENTITY_TEXT_LINK (:obj:`str`): ``'text_link'``
    MESSAGEENTITY_TEXT_MENTION (:obj:`str`): ``'text_mention'``
    MESSAGEENTITY_UNDERLINE (:obj:`str`): ``'underline'``
    MESSAGEENTITY_STRIKETHROUGH (:obj:`str`): ``'strikethrough'``
    MESSAGEENTITY_SPOILER (:obj:`str`): ``'spoiler'``

        .. versionadded:: 13.10
    MESSAGEENTITY_CUSTOM_EMOJI (:obj:`str`): ``'custom_emoji'``

        .. versionadded:: 13.14
    MESSAGEENTITY_ALL_TYPES (List[:obj:`str`]): List of all the types of message entity.

:class:`telegram.ParseMode`:

Attributes:
    PARSEMODE_MARKDOWN (:obj:`str`): ``'Markdown'``
    PARSEMODE_MARKDOWN_V2 (:obj:`str`): ``'MarkdownV2'``
    PARSEMODE_HTML (:obj:`str`): ``'HTML'``

:class:`telegram.Poll`:

Attributes:
    POLL_REGULAR (:obj:`str`): ``'regular'``
    POLL_QUIZ (:obj:`str`): ``'quiz'``
    MAX_POLL_QUESTION_LENGTH (:obj:`int`): 300
    MAX_POLL_OPTION_LENGTH (:obj:`int`): 100
:class:`telegram.Sticker`:

Attributes:

    STICKER_REGULAR (:obj:`str`)= ``'regular'``

        .. versionadded:: 13.14
    STICKER_MASK (:obj:`str`) = ``'mask'``

        .. versionadded:: 13.14
    STICKER_CUSTOM_EMOJI (:obj:`str`) = ``'custom_emoji'``

        .. versionadded:: 13.14

:class:`telegram.MaskPosition`:

Attributes:
    STICKER_FOREHEAD (:obj:`str`): ``'forehead'``
    STICKER_EYES (:obj:`str`): ``'eyes'``
    STICKER_MOUTH (:obj:`str`): ``'mouth'``
    STICKER_CHIN (:obj:`str`): ``'chin'``

:class:`telegram.Update`:

Attributes:
    UPDATE_MESSAGE (:obj:`str`): ``'message'``

        .. versionadded:: 13.5
    UPDATE_EDITED_MESSAGE (:obj:`str`): ``'edited_message'``

        .. versionadded:: 13.5
    UPDATE_CHANNEL_POST (:obj:`str`): ``'channel_post'``

        .. versionadded:: 13.5
    UPDATE_EDITED_CHANNEL_POST (:obj:`str`): ``'edited_channel_post'``

        .. versionadded:: 13.5
    UPDATE_INLINE_QUERY (:obj:`str`): ``'inline_query'``

        .. versionadded:: 13.5
    UPDATE_CHOSEN_INLINE_RESULT (:obj:`str`): ``'chosen_inline_result'``

        .. versionadded:: 13.5
    UPDATE_CALLBACK_QUERY (:obj:`str`): ``'callback_query'``

        .. versionadded:: 13.5
    UPDATE_SHIPPING_QUERY (:obj:`str`): ``'shipping_query'``

        .. versionadded:: 13.5
    UPDATE_PRE_CHECKOUT_QUERY (:obj:`str`): ``'pre_checkout_query'``

        .. versionadded:: 13.5
    UPDATE_POLL (:obj:`str`): ``'poll'``

        .. versionadded:: 13.5
    UPDATE_POLL_ANSWER (:obj:`str`): ``'poll_answer'``

        .. versionadded:: 13.5
    UPDATE_MY_CHAT_MEMBER (:obj:`str`): ``'my_chat_member'``

        .. versionadded:: 13.5
    UPDATE_CHAT_MEMBER (:obj:`str`): ``'chat_member'``

        .. versionadded:: 13.5
    UPDATE_CHAT_JOIN_REQUEST (:obj:`str`): ``'chat_join_request'``

        .. versionadded:: 13.8
    UPDATE_ALL_TYPES (List[:obj:`str`]): List of all update types.

        .. versionadded:: 13.5
        .. versionchanged:: 13.8

:class:`telegram.BotCommandScope`:

Attributes:
    BOT_COMMAND_SCOPE_DEFAULT (:obj:`str`): ``'default'``

        ..versionadded:: 13.7
    BOT_COMMAND_SCOPE_ALL_PRIVATE_CHATS (:obj:`str`): ``'all_private_chats'``

        ..versionadded:: 13.7
    BOT_COMMAND_SCOPE_ALL_GROUP_CHATS (:obj:`str`): ``'all_group_chats'``

        ..versionadded:: 13.7
    BOT_COMMAND_SCOPE_ALL_CHAT_ADMINISTRATORS (:obj:`str`): ``'all_chat_administrators'``

        ..versionadded:: 13.7
    BOT_COMMAND_SCOPE_CHAT (:obj:`str`): ``'chat'``

        ..versionadded:: 13.7
    BOT_COMMAND_SCOPE_CHAT_ADMINISTRATORS (:obj:`str`): ``'chat_administrators'``

        ..versionadded:: 13.7
    BOT_COMMAND_SCOPE_CHAT_MEMBER (:obj:`str`): ``'chat_member'``

        ..versionadded:: 13.7

    )Listz6.2BOT_API_VERSIONi   MAX_MESSAGE_LENGTHi   MAX_CAPTION_LENGTHi8@ANONYMOUS_ADMIN_IDi( SERVICE_CHAT_IDi'FAKE_CHANNEL_IDi  P   X   i   SUPPORTED_WEBHOOK_PORTSg    sAMAX_FILESIZE_DOWNLOADg    ׇAMAX_FILESIZE_UPLOADg    cAMAX_PHOTOSIZE_UPLOAD    MAX_MESSAGES_PER_SECOND_PER_CHAT   MAX_MESSAGES_PER_SECOND   !MAX_MESSAGES_PER_MINUTE_PER_GROUPd   MAX_MESSAGE_ENTITIES2   MAX_INLINE_QUERY_RESULTS   %MAX_ANSWER_CALLBACK_QUERY_TEXT_LENGTHZsenderCHAT_SENDERprivateCHAT_PRIVATEgroup
CHAT_GROUPZ
supergroupCHAT_SUPERGROUPZchannelCHAT_CHANNELZfind_locationCHATACTION_FIND_LOCATIONZrecord_audioCHATACTION_RECORD_AUDIOZrecord_voiceCHATACTION_RECORD_VOICEZrecord_videoCHATACTION_RECORD_VIDEOZrecord_video_noteCHATACTION_RECORD_VIDEO_NOTEtypingCHATACTION_TYPINGZupload_audioCHATACTION_UPLOAD_AUDIOZupload_voiceCHATACTION_UPLOAD_VOICEZupload_documentCHATACTION_UPLOAD_DOCUMENTZchoose_stickerCHATACTION_CHOOSE_STICKERZupload_photoCHATACTION_UPLOAD_PHOTOZupload_videoCHATACTION_UPLOAD_VIDEOZupload_video_noteCHATACTION_UPLOAD_VIDEO_NOTEZadministratorCHATMEMBER_ADMINISTRATORZcreatorCHATMEMBER_CREATORZkickedCHATMEMBER_KICKEDleftCHATMEMBER_LEFTmemberCHATMEMBER_MEMBERZ
restrictedCHATMEMBER_RESTRICTEDu   🎲	DICE_DICEu   🎯
DICE_DARTSu   🏀DICE_BASKETBALLu   ⚽DICE_FOOTBALLu   🎰DICE_SLOT_MACHINEu   🎳DICE_BOWLINGDICE_ALL_EMOJIZmentionMESSAGEENTITY_MENTIONZhashtagMESSAGEENTITY_HASHTAGZcashtagMESSAGEENTITY_CASHTAGZphone_numberMESSAGEENTITY_PHONE_NUMBERZbot_commandMESSAGEENTITY_BOT_COMMANDurlMESSAGEENTITY_URLemailMESSAGEENTITY_EMAILZboldMESSAGEENTITY_BOLDZitalicMESSAGEENTITY_ITALICcodeMESSAGEENTITY_CODEpreMESSAGEENTITY_PREZ	text_linkMESSAGEENTITY_TEXT_LINKZtext_mentionMESSAGEENTITY_TEXT_MENTIONZ	underlineMESSAGEENTITY_UNDERLINEZstrikethroughMESSAGEENTITY_STRIKETHROUGHZspoilerMESSAGEENTITY_SPOILERZcustom_emojiMESSAGEENTITY_CUSTOM_EMOJIMESSAGEENTITY_ALL_TYPESZMarkdownPARSEMODE_MARKDOWNZ
MarkdownV2PARSEMODE_MARKDOWN_V2ZHTMLPARSEMODE_HTMLZregularPOLL_REGULARZquiz	POLL_QUIZi,  MAX_POLL_QUESTION_LENGTHMAX_POLL_OPTION_LENGTHSTICKER_REGULARmaskSTICKER_MASKSTICKER_CUSTOM_EMOJIZforeheadSTICKER_FOREHEADZeyesSTICKER_EYESZmouthSTICKER_MOUTHZchinSTICKER_CHINmessageZedited_messageZchannel_postZedited_channel_postZinline_queryZchosen_inline_resultZcallback_queryZshipping_queryZpre_checkout_querypollZpoll_answerZmy_chat_memberZchat_memberZchat_join_requestdefaultZall_private_chatsZall_group_chatsZall_chat_administratorsZchatZchat_administratorscommandsZweb_appN)n__doc__r'   r   r   str__annotations__r   intr   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/   r0   r1   r2   r4   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rE   rG   rH   rI   rK   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r^   r_   r`   ra   rb   rc   ZUPDATE_MESSAGEZUPDATE_EDITED_MESSAGEZUPDATE_CHANNEL_POSTZUPDATE_EDITED_CHANNEL_POSTZUPDATE_INLINE_QUERYZUPDATE_CHOSEN_INLINE_RESULTZUPDATE_CALLBACK_QUERYZUPDATE_SHIPPING_QUERYZUPDATE_PRE_CHECKOUT_QUERYZUPDATE_POLLZUPDATE_POLL_ANSWERZUPDATE_MY_CHAT_MEMBERZUPDATE_CHAT_MEMBERZUPDATE_CHAT_JOIN_REQUESTZUPDATE_ALL_TYPESZBOT_COMMAND_SCOPE_DEFAULTZ#BOT_COMMAND_SCOPE_ALL_PRIVATE_CHATSZ!BOT_COMMAND_SCOPE_ALL_GROUP_CHATSZ)BOT_COMMAND_SCOPE_ALL_CHAT_ADMINISTRATORSZBOT_COMMAND_SCOPE_CHATZ%BOT_COMMAND_SCOPE_CHAT_ADMINISTRATORSZBOT_COMMAND_SCOPE_CHAT_MEMBERZMENU_BUTTON_COMMANDSZMENU_BUTTON_WEB_APPZMENU_BUTTON_DEFAULT rl   rl   6/tmp/pip-unpacked-wheel-2u9rcp5s/telegram/constants.py<module>   s   x	