mirror of
				https://github.com/Rapptz/discord.py.git
				synced 2025-11-04 07:22:50 +00:00 
			
		
		
		
	Typehint AllowedMentions
This commit is contained in:
		@@ -22,10 +22,17 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 | 
			
		||||
DEALINGS IN THE SOFTWARE.
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
from __future__ import annotations
 | 
			
		||||
from typing import Type, TypeVar, Union, List, TYPE_CHECKING, Any, Union
 | 
			
		||||
 | 
			
		||||
__all__ = (
 | 
			
		||||
    'AllowedMentions',
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if TYPE_CHECKING:
 | 
			
		||||
    from .types.message import AllowedMentions as AllowedMentionsPayload
 | 
			
		||||
    from .abc import Snowflake
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class _FakeBool:
 | 
			
		||||
    def __repr__(self):
 | 
			
		||||
@@ -38,7 +45,9 @@ class _FakeBool:
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
default = _FakeBool()
 | 
			
		||||
default: Any = _FakeBool()
 | 
			
		||||
 | 
			
		||||
A = TypeVar('A', bound='AllowedMentions')
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class AllowedMentions:
 | 
			
		||||
@@ -73,14 +82,21 @@ class AllowedMentions:
 | 
			
		||||
 | 
			
		||||
    __slots__ = ('everyone', 'users', 'roles', 'replied_user')
 | 
			
		||||
 | 
			
		||||
    def __init__(self, *, everyone=default, users=default, roles=default, replied_user=default):
 | 
			
		||||
    def __init__(
 | 
			
		||||
        self,
 | 
			
		||||
        *,
 | 
			
		||||
        everyone: bool = default,
 | 
			
		||||
        users: Union[bool, List[Snowflake]] = default,
 | 
			
		||||
        roles: Union[bool, List[Snowflake]] = default,
 | 
			
		||||
        replied_user: bool = default,
 | 
			
		||||
    ):
 | 
			
		||||
        self.everyone = everyone
 | 
			
		||||
        self.users = users
 | 
			
		||||
        self.roles = roles
 | 
			
		||||
        self.replied_user = replied_user
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def all(cls):
 | 
			
		||||
    def all(cls: Type[A]) -> A:
 | 
			
		||||
        """A factory method that returns a :class:`AllowedMentions` with all fields explicitly set to ``True``
 | 
			
		||||
 | 
			
		||||
        .. versionadded:: 1.5
 | 
			
		||||
@@ -88,14 +104,14 @@ class AllowedMentions:
 | 
			
		||||
        return cls(everyone=True, users=True, roles=True, replied_user=True)
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def none(cls):
 | 
			
		||||
    def none(cls: Type[A]) -> A:
 | 
			
		||||
        """A factory method that returns a :class:`AllowedMentions` with all fields set to ``False``
 | 
			
		||||
 | 
			
		||||
        .. versionadded:: 1.5
 | 
			
		||||
        """
 | 
			
		||||
        return cls(everyone=False, users=False, roles=False, replied_user=False)
 | 
			
		||||
 | 
			
		||||
    def to_dict(self):
 | 
			
		||||
    def to_dict(self) -> AllowedMentionsPayload:
 | 
			
		||||
        parse = []
 | 
			
		||||
        data = {}
 | 
			
		||||
 | 
			
		||||
@@ -116,9 +132,9 @@ class AllowedMentions:
 | 
			
		||||
            data['replied_user'] = True
 | 
			
		||||
 | 
			
		||||
        data['parse'] = parse
 | 
			
		||||
        return data
 | 
			
		||||
        return data  # type: ignore
 | 
			
		||||
 | 
			
		||||
    def merge(self, other):
 | 
			
		||||
    def merge(self, other: AllowedMentions) -> AllowedMentions:
 | 
			
		||||
        # Creates a new AllowedMentions by merging from another one.
 | 
			
		||||
        # Merge is done by using the 'self' values unless explicitly
 | 
			
		||||
        # overridden by the 'other' values.
 | 
			
		||||
@@ -128,7 +144,7 @@ class AllowedMentions:
 | 
			
		||||
        replied_user = self.replied_user if other.replied_user is default else other.replied_user
 | 
			
		||||
        return AllowedMentions(everyone=everyone, roles=roles, users=users, replied_user=replied_user)
 | 
			
		||||
 | 
			
		||||
    def __repr__(self):
 | 
			
		||||
    def __repr__(self) -> str:
 | 
			
		||||
        return (
 | 
			
		||||
            f'{self.__class__.__name__}(everyone={self.everyone}, '
 | 
			
		||||
            f'users={self.users}, roles={self.roles}, replied_user={self.replied_user})'
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user