
    soj                      "   d dl mZ d dlmZ  G d de          Z eej        dej        dej        dej        dej	        d	ej
        d
ej        dej        dej        dej        dej        dej        dej        dej        dej        di          ZdS )    )IntEnum)LazyPhraseDictc                   v   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efdZeded          fd            Zeded          fd            Zeded          fd            ZdefdZeded          fd            ZdefdZeded          fd            ZdefdZeded          fd            ZdefdZ dS )Feature                     	   
                     returnc                     t           |          S )ze
        Get the description of the feature

        :return: The description of the feature
        )FEATURE_DESCRIPTION_MAPselfs    /app/src/model/enums/Feature.pyget_descriptionzFeature.get_description   s     't,,    c                  P   t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j        t           j	        t           j
        t           j        t           j        t           j        t           j        t           j        gS )zI
        Get all the features

        :return: All the features
        )r   BOUNTY_GIFT	CHALLENGECREWDEVIL_FRUIT_APPEARANCEDOC_QFIGHTLEADERBOARDMESSAGE_FILTER
PREDICTIONSILENCESTATUSDEVIL_FRUIT_SELLBOUNTY_LOANPLUNDERDAILY_REWARD r   r   get_allzFeature.get_all    sb     L*MM"ON$O 
 	
r   c                      t           j        gS )z
        Get all the features that are restricted to the main group_chat

        :return: All the features that are restricted
        r   r&   r.   r   r   get_restrictedzFeature.get_restricted9   s     &''r   c                      t          t          t                                                    t          t                                                    z
            S )z
        Get all the features that are not restricted to the main group_chat

        :return: All the features that are not restricted
        )listsetr   r/   r2   r.   r   r   get_non_restrictedzFeature.get_non_restrictedB   s=     C))**S1G1G1I1I-J-JJKKKr   c                 8    | t                                           v S )z
        Checks if the feature is restricted to the main group_chat

        :return: True if the feature is restricted, False otherwise
        )r   r2   r   s    r   is_restrictedzFeature.is_restrictedL   s     w--////r   c                  2    t           j        t           j        gS )zo
        Get all the features that can be pinned

        :return: All the features that can be pinned
        )r   r%   r'   r.   r   r   get_pinnablezFeature.get_pinnableU   s     #W%788r   c                 8    | t                                           v S )zz
        Checks if the feature can be pinned

        :return: True if the feature can be pinned, False otherwise
        )r   r:   r   s    r   is_pinnablezFeature.is_pinnable_   s     w++----r   c                      t           j        gS )z
        Get all the features that are disabled by default

        :return: All the features that are disabled by default
        r1   r.   r   r   get_disabled_by_defaultzFeature.get_disabled_by_defaulth   s     &''r   c                 8    | t                                           vS )z
        Checks if the feature is enabled by default

        :return: True if the feature is enabled by default, False otherwise
        )r   r>   r   s    r   is_enabled_by_defaultzFeature.is_enabled_by_defaultr   s     7::<<<<r   c                      t           j        gS )z
        Get all the pinnable features that are pinned by default

        :return: All the pinnable features that are pinned by default
        )r   r%   r.   r   r   get_pinned_by_defaultzFeature.get_pinned_by_default{   s     #$$r   c                 8    | t                                           v S )z
        Checks if the feature is pinned by default

        :return: True if the feature is pinned by default, False otherwise
        )r   rB   r   s    r   is_pinned_by_defaultzFeature.is_pinned_by_default   s     w446666r   N)!__name__
__module____qualname__r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   strr   staticmethodr4   r/   r2   r6   boolr8   r:   r<   r>   r@   rB   rD   r.   r   r   r   r      s       KIDEEKNJGFKGL- - - - - 
T)_ 
 
 
 \
0 (DO ( ( ( \( LY L L L \L0t 0 0 0 0 9$y/ 9 9 9 \9.T . . . . (T)_ ( ( ( \(=t = = = = %4	? % % % \%7d 7 7 7 7 7 7r   r   FEATURE_BOUNTY_GIFTFEATURE_CHALLENGEFEATURE_CREWFEATURE_DEVIL_FRUIT_APPEARANCEFEATURE_DOC_QFEATURE_FIGHTFEATURE_LEADERBOARDFEATURE_MESSAGE_FILTERFEATURE_PREDICTIONFEATURE_SILENCEFEATURE_STATUSFEATURE_DEVIL_FRUIT_SELLFEATURE_BOUNTY_LOANFEATURE_PLUNDERFEATURE_DAILY_REWARDN)enumr   src.utils.LazyPhraseDictr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r   r.   r   r   <module>r\      s          3 3 3 3 3 3F7 F7 F7 F7 F7g F7 F7 F7R ).2.n&(H2 80*( "<2*4    r   