Class: Discorb::Gateway::ReactionEvent

Inherits:
GatewayEvent show all
Defined in:
lib/discorb/gateway.rb

Overview

Represents a reaction event.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#channel -> nil, Discorb::Channel (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Returns:

  • (nil)

    The object wasn't cached.

  • (Discorb::Channel)

    The channel the message was sent in.



45
46
47
# File 'lib/discorb/gateway.rb', line 45

def channel
  @channel
end

#channel_id -> Discorb::Snowflake (readonly)

Returns The ID of the channel the message was sent in.

Returns:



35
36
37
# File 'lib/discorb/gateway.rb', line 35

def channel_id
  @channel_id
end

#data -> Hash (readonly)

Returns The raw data of the event.

Returns:

  • (Hash)

    The raw data of the event.



30
31
32
# File 'lib/discorb/gateway.rb', line 30

def data
  @data
end

#emoji -> Discorb::UnicodeEmoji, Discorb::PartialEmoji (readonly)

Returns The emoji that was reacted with.

Returns:



56
57
58
# File 'lib/discorb/gateway.rb', line 56

def emoji
  @emoji
end

#fired_by -> nil, ... (readonly) Also known as: reactor, from

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Returns:



59
60
61
# File 'lib/discorb/gateway.rb', line 59

def fired_by
  @fired_by
end

#guild -> nil, Discorb::Guild (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Returns:

  • (nil)

    The object wasn't cached.

  • (Discorb::Guild)

    The guild the message was sent in.



48
49
50
# File 'lib/discorb/gateway.rb', line 48

def guild
  @guild
end

#guild_id -> Discorb::Snowflake (readonly)

Returns The ID of the guild the message was sent in.

Returns:



39
40
41
# File 'lib/discorb/gateway.rb', line 39

def guild_id
  @guild_id
end

#member -> nil, Discorb::Member (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Returns:

  • (nil)

    The object wasn't cached.

  • (Discorb::Member)

    The member who reacted.



54
55
56
# File 'lib/discorb/gateway.rb', line 54

def member
  @member
end

#message -> nil, Discorb::Message (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Returns:

  • (nil)

    The object wasn't cached.

  • (Discorb::Message)

    The message the reaction was sent in.



51
52
53
# File 'lib/discorb/gateway.rb', line 51

def message
  @message
end

#message_id -> Discorb::Snowflake (readonly)

Returns The ID of the message.

Returns:



37
38
39
# File 'lib/discorb/gateway.rb', line 37

def message_id
  @message_id
end

#user -> nil, Discorb::User (readonly)

Note:

This method returns an object from client cache. it will return nil if the object is not in cache.

Returns:

  • (nil)

    The object wasn't cached.

  • (Discorb::User)

    The user who reacted.



42
43
44
# File 'lib/discorb/gateway.rb', line 42

def user
  @user
end

#user_id -> Discorb::Snowflake (readonly) Also known as: member_id

Returns The ID of the user who reacted.

Returns:



32
33
34
# File 'lib/discorb/gateway.rb', line 32

def user_id
  @user_id
end

Instance Method Details

#fetch_message(force: false) -> Async::Task<Discorb::Message>

Note:

This is an asynchronous method, it will return a Async::Task object. Use Async::Task#wait to get the result.

Note:

This method calls HTTP request.

Fetch the message. If message is cached, it will be returned.

Parameters:

  • force (Boolean) (defaults to: false)

    Whether to force fetching the message.

Returns:

Raises:



103
104
105
106
107
108
109
# File 'lib/discorb/gateway.rb', line 103

def fetch_message(force: false)
  Async do
    next @message if !force && @message

    @message = @channel.fetch_message(@message_id).wait
  end
end