class Discorb::Presence

Represents a presence of user.

Attributes

activities[R]

@return [Array<Discorb::Presence::Activity>] The activities of the user.

client_status[R]

@return [Discorb::Presence::ClientStatus] The client status of the user.

status[R]

@return [:online, :idle, :dnd, :offline] The status of the user.

Public Class Methods

new(client, data) click to toggle source

@!visibility private

# File lib/discorb/presence.rb, line 23
def initialize(client, data)
  @client = client
  @data = data
  _set_data(data)
end

Public Instance Methods

activity() click to toggle source
# File lib/discorb/presence.rb, line 37
def activity
  @activities[0]
end
guild() click to toggle source
# File lib/discorb/presence.rb, line 33
def guild
  @client.guilds[@guild_id]
end
inspect() click to toggle source
# File lib/discorb/presence.rb, line 41
def inspect
  "#<#{self.class} @status=#{@status.inspect} @activity=#{activity.inspect}>"
end
user() click to toggle source
# File lib/discorb/presence.rb, line 29
def user
  @client.users[@user_id]
end

Private Instance Methods

_set_data(data) click to toggle source
# File lib/discorb/presence.rb, line 300
def _set_data(data)
  @user_id = data[:user][:id]
  @guild_id = data[:guild_id]
  @status = data[:status].to_sym
  @activities = data[:activities].map { |a| Activity.new(a) }
  @client_status = ClientStatus.new(data[:client_status])
end