class Line::Bot::V2::Webhook::JoinEvent
Event
object for when your LINE Official Account joins a group chat or multi-person chat. You can reply to join events.
Attributes
@!attribute [rw] delivery_context
@return [DeliveryContext]
@!attribute [rw] mode
@return [String] ('active'|'standby')
@!attribute [rw] reply_token
@return [String] Reply token used to send reply message to this event
@!attribute [rw] source
@return [Source,nil]
@!attribute [rw] timestamp
@return [Integer] Time of the event in milliseconds.
@!attribute [r] type
@return [String] Type of the event
@!attribute [rw] webhook_event_id
@return [String] Webhook Event ID. An ID that uniquely identifies a webhook event. This is a string in ULID format.
Public Class Methods
Source
# File lib/line/bot/v2/webhook/model/join_event.rb, line 80 def self.create(args) # steep:ignore symbolized_args = Line::Bot::V2::Utils.deep_symbolize(args) return new(**symbolized_args) # steep:ignore end
Create an instance of the class from a hash @param args [Hash] Hash containing all the required attributes @return [Line::Bot::V2::Webhook::JoinEvent] Instance of the class
Source
# File lib/line/bot/v2/webhook/model/join_event.rb, line 46 def initialize( source: nil, timestamp:, mode:, webhook_event_id:, delivery_context:, reply_token:, **dynamic_attributes ) @type = "join" @source = source.is_a?(Line::Bot::V2::Webhook::Source) || source.nil? ? source : Line::Bot::V2::Webhook::Source.create(**source) # steep:ignore @timestamp = timestamp @mode = mode @webhook_event_id = webhook_event_id @delivery_context = delivery_context.is_a?(Line::Bot::V2::Webhook::DeliveryContext) ? delivery_context : Line::Bot::V2::Webhook::DeliveryContext.create(**delivery_context) # steep:ignore @reply_token = reply_token dynamic_attributes.each do |key, value| self.class.attr_accessor key if value.is_a?(Hash) struct_klass = Struct.new(*value.keys.map(&:to_sym)) struct_values = value.map { |_k, v| v.is_a?(Hash) ? Line::Bot::V2::Utils.hash_to_struct(v) : v } instance_variable_set("@#{key}", struct_klass.new(*struct_values)) else instance_variable_set("@#{key}", value) end end end
@param source [Source, Hash[Symbol, untyped], nil] @param timestamp [Integer] Time of the event in milliseconds. @param mode [String] (‘active’|‘standby’) @param webhook_event_id
[String] Webhook
Event
ID. An ID that uniquely identifies a webhook event. This is a string in ULID format. @param delivery_context
[DeliveryContext, Hash[Symbol, untyped]] @param reply_token
[String] Reply token used to send reply message to this event
Public Instance Methods
Source
# File lib/line/bot/v2/webhook/model/join_event.rb, line 87 def ==(other) return false unless self.class == other.class instance_variables.all? do |var| instance_variable_get(var) == other.instance_variable_get(var) end end
@param other [Object] Object to compare @return [Boolean] true if the objects are equal, false otherwise
Source
# File lib/line/bot/v2/webhook/model/join_event.rb, line 96 def hash [self.class, *instance_variables.map { |var| instance_variable_get(var) }].hash end
@return [Integer] Hash code of the object