code: def get_chat(
          self,
          chat_id: Union[int, str]
      ) -> "pyrogram.Chat":
          
          match = self.INVITE_LINK_RE.match(str(chat_id))
  
          if match:
              h = match.group(1)
  
              r = self.send(
                  functions.messages.CheckChatInvite(
                      hash=h
                  )
              )
  
              if isinstance(r, types.ChatInvite):
                  raise ValueError("You haven't joined \"t.me/joinchat/{}\" yet".format(h))
  
              self.fetch_peers([r.chat])
  
              if isinstance(r.chat, types.Chat):
                  chat_id = -r.chat.id
  
              if isinstance(r.chat, types.Channel):
                  chat_id = int("-100" + str(r.chat.id))
  
          peer = self.resolve_peer(chat_id)
  
          if isinstance(peer, types.InputPeerChannel):
              r = self.send(functions.channels.GetFullChannel(channel=peer))
          elif isinstance(peer, (types.InputPeerUser, types.InputPeerSelf)):
              r = self.send(functions.users.GetFullUser(id=peer))
          else:
              r = self.send(functions.messages.GetFullChat(chat_id=peer.chat_id))
  
          return pyrogram.Chat._parse_full(self, r)
docs: Use this method to get up to date information about the chat.
          Information include current name of the user for one-on-one conversations, current username of a user, group or
          channel, etc.
  
          Args:
              chat_id (``int`` | ``str``):
                  Unique identifier (int) or username (str) of the target chat.
                  Unique identifier for the target chat in form of a *t.me/joinchat/* link, identifier (int) or username
                  of the target channel/supergroup (in the format @username).
  
          Returns:
              On success, a :obj:`Chat <pyrogram.Chat>` object is returned.
  
          Raises:
              :class:`RPCError <pyrogram.RPCError>` in case of a Telegram RPC error.
              ``ValueError`` in case the chat invite link refers to a chat you haven't joined yet.