def METHOD_NAME(self, username, refresh=False, switch_page=True):
    if username not in self.users:
        self.users.add(username)
        refresh = True
    events.emit("user-info-show-user", user=username, refresh=refresh, switch_page=switch_page)
    if core.user_status == slskmessages.UserStatus.OFFLINE:
        events.emit("peer-connection-error", username)
        return
    if not refresh:
        return
    # Request user description, picture and queue information
    core.send_message_to_peer(username, slskmessages.UserInfoRequest())
    # Request user status, speed and number of shared files
    core.watch_user(username)
    # Request user interests
    core.send_message_to_server(slskmessages.UserInterests(username))