Browse Source

Tighten component typehint on Message and Modal

pull/10109/head
dolfies 3 years ago
parent
commit
ff75b689d6
  1. 6
      discord/message.py
  2. 4
      discord/modal.py

6
discord/message.py

@ -93,7 +93,7 @@ if TYPE_CHECKING:
from .types.gateway import MessageReactionRemoveEvent, MessageUpdateEvent from .types.gateway import MessageReactionRemoveEvent, MessageUpdateEvent
from .abc import Snowflake from .abc import Snowflake
from .abc import GuildChannel, MessageableChannel from .abc import GuildChannel, MessageableChannel
from .components import Component from .components import ActionRow
from .state import ConnectionState from .state import ConnectionState
from .channel import TextChannel from .channel import TextChannel
from .mentions import AllowedMentions from .mentions import AllowedMentions
@ -1323,7 +1323,7 @@ class Message(PartialMessage, Hashable):
self.content: str = data['content'] self.content: str = data['content']
self.nonce: Optional[Union[int, str]] = data.get('nonce') self.nonce: Optional[Union[int, str]] = data.get('nonce')
self.stickers: List[StickerItem] = [StickerItem(data=d, state=state) for d in data.get('sticker_items', [])] self.stickers: List[StickerItem] = [StickerItem(data=d, state=state) for d in data.get('sticker_items', [])]
self.components: List[Component] = [_component_factory(d, self) for d in data.get('components', [])] self.components: List[ActionRow] = [_component_factory(d, self) for d in data.get('components', [])] # type: ignore # Will always be rows here
self.call: Optional[CallMessage] = None self.call: Optional[CallMessage] = None
try: try:
@ -1558,7 +1558,7 @@ class Message(PartialMessage, Hashable):
self.call = CallMessage(message=self, **call) self.call = CallMessage(message=self, **call)
def _handle_components(self, components: List[ComponentPayload]): def _handle_components(self, components: List[ComponentPayload]):
self.components = [_component_factory(d, self) for d in components] self.components: List[ActionRow] = [_component_factory(d, self) for d in components] # type: ignore # Will always be rows here
def _handle_interaction(self, data: MessageInteractionPayload): def _handle_interaction(self, data: MessageInteractionPayload):
self.interaction = Interaction._from_message(self, **data) self.interaction = Interaction._from_message(self, **data)

4
discord/modal.py

@ -33,7 +33,7 @@ from .utils import _generate_nonce
if TYPE_CHECKING: if TYPE_CHECKING:
from .appinfo import InteractionApplication from .appinfo import InteractionApplication
from .components import Component from .components import ActionRow
from .interactions import Interaction from .interactions import Interaction
# fmt: off # fmt: off
@ -91,7 +91,7 @@ class Modal(Hashable):
self.nonce: Optional[Union[int, str]] = data.get('nonce') self.nonce: Optional[Union[int, str]] = data.get('nonce')
self.title: str = data.get('title', '') self.title: str = data.get('title', '')
self.custom_id: str = data.get('custom_id', '') self.custom_id: str = data.get('custom_id', '')
self.components: List[Component] = [_component_factory(d) for d in data.get('components', [])] self.components: List[ActionRow] = [_component_factory(d) for d in data.get('components', [])] # type: ignore # Will always be rows here
self.application: InteractionApplication = interaction._state.create_interaction_application(data['application']) self.application: InteractionApplication = interaction._state.create_interaction_application(data['application'])
def __str__(self) -> str: def __str__(self) -> str:

Loading…
Cancel
Save