def member(server_or_id, user_id)
      server_id = server_or_id.resolve_id
      user_id = user_id.resolve_id

      server = server_or_id.is_a?(Server) ? server_or_id : self.server(server_id)

      return server.member(user_id) if server.member_cached?(user_id)

      LOGGER.out("Resolving member #{server_id} on server #{user_id}")
      begin
        response = API::Server.resolve_member(token, server_id, user_id)
      rescue RestClient::ResourceNotFound
        return nil
      end
      member = Member.new(JSON.parse(response), server, self)
      server.cache_member(member)
    end
def member(server_or_id, user_id)
      server_id = server_or_id.resolve_id
      user_id = user_id.resolve_id

      server = server_or_id.is_a?(Server) ? server_or_id : self.server(server_id)

      return server.member(user_id) if server.member_cached?(user_id)

      LOGGER.out("Resolving member #{server_id} on server #{user_id}")
      begin
        response = API::Server.resolve_member(token, server_id, user_id)
      rescue RestClient::ResourceNotFound
        return nil
      end
      member = Member.new(JSON.parse(response), server, self)
      server.cache_member(member)
    end
Gets a member by both IDs, or `Server` and user ID.
 @param server_or_id [Server, Integer] The `Server` or server ID for which a member should be resolved
 @param user_id [Integer] The ID of the user that should be resolved
 @return [Member, nil] The member identified by the IDs, or `nil` if none could be found