class Discorb::MessageComponentInteraction

Represents a message component interaction. @abstract

Attributes

component_type[R]

@!visibility private

custom_id[R]

@return [String] The content of the response.

Public Class Methods

make_interaction(client, data) click to toggle source

@!visibility private

# File lib/discorb/interaction.rb, line 394
def make_interaction(client, data)
  nested_classes.each do |klass|
    return klass.new(client, data) if !klass.component_type.nil? && klass.component_type == data[:data][:component_type]
  end
  client.log.warn("Unknown component type #{data[:component_type]}, initialized Interaction")
  MessageComponentInteraction.new(client, data)
end
nested_classes() click to toggle source

@!visibility private

# File lib/discorb/interaction.rb, line 403
def nested_classes
  constants.select { |c| const_get(c).is_a? Class }.map { |c| const_get(c) }
end
new(client, data) click to toggle source

@!visibility private

Calls superclass method Discorb::Interaction::new
# File lib/discorb/interaction.rb, line 384
def initialize(client, data)
  super
  @message = Message.new(@client, data[:message].merge({ member: data[:member] }))
end