class Discorb::Component
@abstract Represents a Discord component.
Public Class Methods
from_hash(data)
click to toggle source
Create a new component from hash data.
@see discord.com/developers/docs/interactions/message-components Official Discord API documentation @param [Hash] data Hash data.
@return [Component] A new component.
# File lib/discorb/components.rb, line 18 def from_hash(data) case data[:type] when 2 Button.new( data[:label], data[:style], emoji: data[:emoji], custom_id: data[:custom_id], url: data[:url], disabled: data[:disabled], ) when 3 SelectMenu.new( data[:custom_id], data[:options].map { |o| SelectMenu::Option.from_hash(o) }, placeholder: data[:placeholder], min_values: data[:min_values], max_values: data[:max_values], ) end end