Class: Twilio::REST::Chat::V2::ServiceContext::ChannelContext::MessageInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/v2/service/channel/message.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil) ⇒ MessageInstance

Initialize the MessageInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The unique id of the [Service](www.twilio.com/docs/api/chat/rest/services) this message belongs to.

  • channel_sid (String) (defaults to: nil)

    The channel_sid

  • sid (String) (defaults to: nil)

    The sid



318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 318

def initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'attributes' => payload['attributes'],
      'service_sid' => payload['service_sid'],
      'to' => payload['to'],
      'channel_sid' => payload['channel_sid'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'last_updated_by' => payload['last_updated_by'],
      'was_edited' => payload['was_edited'],
      'from' => payload['from'],
      'body' => payload['body'],
      'index' => payload['index'].to_i,
      'type' => payload['type'],
      'media' => payload['media'],
      'url' => payload['url'],
  }

  # Context
  @instance_context = nil
  @params = {
      'service_sid' => service_sid,
      'channel_sid' => channel_sid,
      'sid' => sid || @properties['sid'],
  }
end

Instance Method Details

#account_sidString

Returns The unique id of the Account responsible for this message.

Returns:

  • (String)

    The unique id of the Account responsible for this message.



374
375
376
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 374

def 
  @properties['account_sid']
end

#attributesString

Returns An optional string metadata field you can use to store any data you wish.

Returns:

  • (String)

    An optional string metadata field you can use to store any data you wish.



380
381
382
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 380

def attributes
  @properties['attributes']
end

#bodyString

Returns Optional — the contents of the message.

Returns:

  • (String)

    Optional — the contents of the message.



434
435
436
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 434

def body
  @properties['body']
end

#channel_sidString

Returns The channel_sid.

Returns:

  • (String)

    The channel_sid



398
399
400
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 398

def channel_sid
  @properties['channel_sid']
end

#contextMessageContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



354
355
356
357
358
359
360
361
362
363
364
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 354

def context
  unless @instance_context
    @instance_context = MessageContext.new(
        @version,
        @params['service_sid'],
        @params['channel_sid'],
        @params['sid'],
    )
  end
  @instance_context
end

#date_createdTime

Returns The date that this resource was created.

Returns:

  • (Time)

    The date that this resource was created.



404
405
406
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 404

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date that this resource was last updated.

Returns:

  • (Time)

    The date that this resource was last updated.



410
411
412
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 410

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



472
473
474
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 472

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance

Returns:



465
466
467
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 465

def fetch
  context.fetch
end

#fromString

Returns The identity of the message’s author.

Returns:

  • (String)

    The identity of the message’s author.



428
429
430
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 428

def from
  @properties['from']
end

#indexString

Returns The index of the message within the Channel.

Returns:

  • (String)

    The index of the message within the Channel



440
441
442
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 440

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



510
511
512
513
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 510

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.V2.MessageInstance #{values}>"
end

#last_updated_byString

Returns Optional field to specify the Identity of the User that last updated the Message.

Returns:

  • (String)

    Optional field to specify the Identity of the User that last updated the Message



416
417
418
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 416

def last_updated_by
  @properties['last_updated_by']
end

#mediaHash

Returns Optional — if a Media resource instance is attached to the Message, this will contain the Media object for the attached Media.

Returns:

  • (Hash)

    Optional — if a Media resource instance is attached to the Message, this will contain the Media object for the attached Media.



452
453
454
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 452

def media
  @properties['media']
end

#service_sidString

Returns The unique id of the Service this message belongs to.

Returns:

  • (String)

    The unique id of the Service this message belongs to.



386
387
388
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 386

def service_sid
  @properties['service_sid']
end

#sidString

Returns A 34 character string that uniquely identifies this resource.

Returns:

  • (String)

    A 34 character string that uniquely identifies this resource.



368
369
370
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 368

def sid
  @properties['sid']
end

#toString

Returns The unique id of the Channel this message was sent to.

Returns:

  • (String)

    The unique id of the Channel this message was sent to.



392
393
394
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 392

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



503
504
505
506
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 503

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Chat.V2.MessageInstance #{values}>"
end

#typeString

Returns Message type.

Returns:

  • (String)

    Message type.



446
447
448
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 446

def type
  @properties['type']
end

#update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset) ⇒ MessageInstance

Update the MessageInstance

Parameters:

  • body (String) (defaults to: :unset)

    The message body string. You can also send structured data by serializing it into a string. May be updated to empty string or ‘null`, will be set as empty string as a result in this cases.

  • attributes (String) (defaults to: :unset)

    The attributes metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified.

  • date_created (Time) (defaults to: :unset)

    The ISO8601 time specifying the datetime the Message should be set as being created.

  • date_updated (Time) (defaults to: :unset)

    The ISO8601 time specifying the datetime the Message should be set as having been last updated.

  • last_updated_by (String) (defaults to: :unset)

    Specify the Identity of the User that last updated the Message (if relevant)

Returns:



491
492
493
494
495
496
497
498
499
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 491

def update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset)
  context.update(
      body: body,
      attributes: attributes,
      date_created: date_created,
      date_updated: date_updated,
      last_updated_by: last_updated_by,
  )
end

#urlString

Returns An absolute URL for this message.

Returns:

  • (String)

    An absolute URL for this message.



458
459
460
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 458

def url
  @properties['url']
end

#was_editedBoolean

Returns true if the message has been updated since it was created.

Returns:

  • (Boolean)

    true if the message has been updated since it was created.



422
423
424
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 422

def was_edited
  @properties['was_edited']
end