o
    @Mh1                     @   sB   d Z ddlmZ G dd dZG dd dZdedefd	d
ZdS )z/
Contains classes for states and state groups.
    )typesc                   @   s(   e Zd ZdZdddZdefddZdS )	Statez
    Class representing a state.

    .. code-block:: python3

        class MyStates(StatesGroup):
            my_state = State() # returns my_state:State string.
    returnNc                 C   s   d | _ d | _d S N)namegroupself r
   J/var/www/html/venv/lib/python3.10/site-packages/telebot/states/__init__.py__init__   s   
zState.__init__c                 C   s   d| j  dS )N<>)r   r   r
   r
   r   __str__   s   zState.__str__r   N)__name__
__module____qualname____doc__r   strr   r
   r
   r
   r   r      s    
	r   c                   @   s&   e Zd ZdZdddZedd ZdS )	StatesGroupz
    Class representing common states.

    .. code-block:: python3

        class MyStates(StatesGroup):
            my_state = State() # returns my_state:State string.
    r   Nc                 C   s`   g }| j  D ]#\}}|ds*t|s*t|tr*d| j|f|_| |_	|
| q|| _d S )N__:)__dict__items
startswithcallable
isinstancer   joinr   r   r   append_state_list)cls
state_listr   valuer
   r
   r   __init_subclass__$   s   

zStatesGroup.__init_subclass__c                 C   s   | j S r   )r    r   r
   r
   r   r"   2   s   zStatesGroup.state_listr   )r   r   r   r   r$   classmethodr"   r
   r
   r
   r   r      s
    
	r   bot_idr   c                 C   s6  t | tjr| jj| jj| j|| jr| jfS d fS t | tj	r6| j
jj| jj| j
j|| j
jr3| j
jfS d fS t | tjrG| j| jj| j|d fS t | tjrY| jj| jj| j|d fS t | tjrj| jj| jjd |d fS t | tjry| jjd d |d fS t | tjrd | jjd |d fS t | tjrd | jjd |d fS t | tjrd | jjd |d fS t | tjrd | jjd |d fS t | tjrd | jjd |d fS t | tjr| jj| jjd |d fS t | tjr| jj| jjd |d fS t | tjr| jj| jr| jjjnd d |d fS t | tjr| jj| jjr| jjjjnd d |d fS 	 d S r   )r   r   Messagechatid	from_userbusiness_connection_idis_topic_messagemessage_thread_idCallbackQuerymessageBusinessConnectionuser_chat_iduserBusinessMessagesDeletedMessageReactionUpdatedMessageReactionCountUpdatedInlineQueryChosenInlineResultShippingQueryPreCheckoutQuery
PollAnswerChatMemberUpdatedChatJoinRequestChatBoostRemovedsourceChatBoostUpdatedboost)r/   r&   r
   r
   r   resolve_context7   s   
rA   N)r   telebotr   r   r   inttuplerA   r
   r
   r
   r   <module>   s
    