Class: Discordrb::Events::PlayingEvent

Inherits:
Event
  • Object
show all
Defined in:
lib/discordrb/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.



85
86
87
88
89
90
91
92
# File 'lib/discordrb/events/presence.rb', line 85

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

#activityDiscordrb::Activity (readonly)

Returns The new activity.

Returns:



69
70
71
# File 'lib/discordrb/events/presence.rb', line 69

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.



83
84
85
# File 'lib/discordrb/events/presence.rb', line 83

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/discordrb/events/presence.rb', line 74

#serverServer (readonly)

Returns the server on which the presence update happened.

Returns:

  • (Server)

    the server on which the presence update happened.



63
64
65
# File 'lib/discordrb/events/presence.rb', line 63

def server
  @server
end

#typeInteger (readonly)

Returns the type of play. See Activity.

Returns:



79
# File 'lib/discordrb/events/presence.rb', line 79

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

#urlString (readonly)

Returns the URL to the stream.

Returns:

  • (String)

    the URL to the stream



# File 'lib/discordrb/events/presence.rb', line 71

#userUser (readonly)

Returns the user whose status got updated.

Returns:

  • (User)

    the user whose status got updated.



66
67
68
# File 'lib/discordrb/events/presence.rb', line 66

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.



95
96
97
# File 'lib/discordrb/events/presence.rb', line 95

def game
  @activity.name
end