text: import typing
  
  if typing.TYPE_CHECKING:
      from ...client import Client
  
  from ...utils import Snowflake
  from ..user import User
  from ..guild.member import Member
  
  class InteractionMessage:
      def __init__(self, client: "Client", guild_id: int = None, **data) -> None:
          self.client = client
          """The main client."""
  
          self.id: Snowflake = Snowflake(
              data.get('id'))
          """The ID of the interaction."""
  
          self.type: int = int(
              data.get('type'))
          """The type of the interaction."""
  
          self.name: str = data.get('name')
          """The name of the interaction."""
  
          self.user: User = User(
              self.client, **data.get('user'))
          """The user of the interaction."""
          
          self.guild_id: Snowflake = Snowflake(
              guild_id)
          """The ID of the guild."""
  
          data.get('member').update({'user': data.get('user')})
          """Update the member data."""
  
          self.member: "Member" = Member(
              self.client, self.guild_id, **data.get('member'))
          """The member of the interaction."""