code: def check_address(cls, *,
                        chat: typing.Union[str, int, None] = None,
                        user: typing.Union[str, int, None] = None) -> (typing.Union[str, int], typing.Union[str, int]):
          
          if chat is None and user is None:
              raise ValueError('`user` or `chat` parameter is required but no one is provided!')
  
          if user is None and chat is not None:
              user = chat
          elif user is not None and chat is None:
              chat = user
          return chat, user
docs: In all storage's methods chat or user is always required.
          If one of them is not provided, you have to set missing value based on the provided one.
  
          This method performs the check described above.
  
          :param chat:
          :param user:
          :return: