mirror of
				https://github.com/Rapptz/discord.py.git
				synced 2025-10-31 05:23:03 +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