Class: Rubycord::Events::PlayingEvent

Inherits:
Event
  • Object
show all
Defined in:
lib/rubycord/events/presence.rb

Overview

Event raised when a user starts or stops playing a game

Instance Attribute Summary collapse

Attributes inherited from Event

#bot

Instance Method Summary collapse

Constructor Details

#initialize(data, activity, bot) ⇒ PlayingEvent

Returns a new instance of PlayingEvent.



83
84
85
86
87
88
89
90
# File 'lib/rubycord/events/presence.rb', line 83

def initialize(data, activity, bot)
  @bot = bot
  @activity = activity

  @server = bot.server(data["guild_id"].to_i)
  @user = bot.user(data["user"]["id"].to_i)
  @client_status = @user.client_status
end

Instance Attribute Details

#activityRubycord::Activity (readonly)

Returns The new activity.

Returns:



67
68
69
# File 'lib/rubycord/events/presence.rb', line 67

def activity
  @activity
end

#client_statusHash<Symbol, Symbol> (readonly)

Returns the current online status (:online, :idle or :dnd) of the user on various device types (:desktop, :mobile, or :web). The value will be nil if the user is offline or invisible.

Returns:

  • (Hash<Symbol, Symbol>)

    the current online status (:online, :idle or :dnd) of the user on various device types (:desktop, :mobile, or :web). The value will be nil if the user is offline or invisible.



81
82
83
# File 'lib/rubycord/events/presence.rb', line 81

def client_status
  @client_status
end

#detailsString (readonly)

Returns what the player is currently doing (ex. game being streamed).

Returns:

  • (String)

    what the player is currently doing (ex. game being streamed)



# File 'lib/rubycord/events/presence.rb', line 72

#serverServer (readonly)

Returns the server on which the presence update happened.

Returns:

  • (Server)

    the server on which the presence update happened.



61
62
63
# File 'lib/rubycord/events/presence.rb', line 61

def server
  @server
end

#typeInteger (readonly)

Returns the type of play. See Activity.

Returns:



77
# File 'lib/rubycord/events/presence.rb', line 77

delegate :url, :details, :type, to: :activity

#urlString (readonly)

Returns the URL to the stream.

Returns:

  • (String)

    the URL to the stream



# File 'lib/rubycord/events/presence.rb', line 69

#userUser (readonly)

Returns the user whose status got updated.

Returns:

  • (User)

    the user whose status got updated.



64
65
66
# File 'lib/rubycord/events/presence.rb', line 64

def user
  @user
end

Instance Method Details

#gameString

Returns the name of the new game the user is playing.

Returns:

  • (String)

    the name of the new game the user is playing.



93
94
95
# File 'lib/rubycord/events/presence.rb', line 93

def game
  @activity.name
end