def update_status(status, activity, url, since = 0, afk = false, activity_type = 0)
      gateway_check

      @activity = activity
      @status = status
      @streamurl = url
      type = url ? 1 : activity_type

      activity_obj = activity || url ? { 'name' => activity, 'url' => url, 'type' => type } : nil
      @gateway.send_status_update(status, since, activity_obj, afk)

      # Update the status in the cache
      profile.update_presence('status' => status.to_s, 'game' => activity_obj)
    end
def update_status(status, activity, url, since = 0, afk = false, activity_type = 0)
      gateway_check

      @activity = activity
      @status = status
      @streamurl = url
      type = url ? 1 : activity_type

      activity_obj = activity || url ? { 'name' => activity, 'url' => url, 'type' => type } : nil
      @gateway.send_status_update(status, since, activity_obj, afk)

      # Update the status in the cache
      profile.update_presence('status' => status.to_s, 'game' => activity_obj)
    end
Updates presence status.
 @param status [String] The status the bot should show up as. Can be `online`, `dnd`, `idle`, or `invisible`
 @param activity [String, nil] The name of the activity to be played/watched/listened to/stream name on the stream.
 @param url [String, nil] The Twitch URL to display as a stream. nil for no stream.
 @param since [Integer] When this status was set.
 @param afk [true, false] Whether the bot is AFK.
 @param activity_type [Integer] The type of activity status to display. Can be 0 (Playing), 1 (Streaming), 2 (Listening), 3 (Watching)
 @see Gateway#send_status_update