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/chat/api/services) this message belongs to.

  • channel_sid (String) (defaults to: nil)

    The channel_sid

  • sid (String) (defaults to: nil)

    Key that uniquely defines the message to fetch.



329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 329

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.



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

def 
  @properties['account_sid']
end

#attributesString

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

Returns:

  • (String)

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



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

def attributes
  @properties['attributes']
end

#bodyString

Returns The contents of the message.

Returns:

  • (String)

    The contents of the message.



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

def body
  @properties['body']
end

#channel_sidString

Returns The channel_sid.

Returns:

  • (String)

    The channel_sid



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

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:



365
366
367
368
369
370
371
372
373
374
375
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 365

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.



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

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.



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the MessageInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



483
484
485
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 483

def delete
  context.delete
end

#fetchMessageInstance

Fetch a MessageInstance

Returns:



476
477
478
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 476

def fetch
  context.fetch
end

#fromString

Returns The identity of the message’s author.

Returns:

  • (String)

    The identity of the message’s author.



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

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



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

def index
  @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



526
527
528
529
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 526

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

#last_updated_byString

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

Returns:

  • (String)

    Field to specify the Identity of the User that last updated the Message



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

def last_updated_by
  @properties['last_updated_by']
end

#mediaHash

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

Returns:

  • (Hash)

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



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

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.



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

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.



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

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.



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

def to
  @properties['to']
end

#to_sObject

Provide a user friendly representation



519
520
521
522
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 519

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.



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

def type
  @properties['type']
end

#update(body: :unset, attributes: :unset, date_created: :unset, date_updated: :unset, last_updated_by: :unset, from: :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)

    A string metadata field you can use to store any data you wish. The string value must contain structurally valid JSON if specified. Note that this will always be null for resources returned via LIST GET operations, but will be present for single GET operations.

  • 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)

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

    The [identity](www.twilio.com/docs/api/chat/guides/identity) of the message’s author.

Returns:



506
507
508
509
510
511
512
513
514
515
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 506

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

#urlString

Returns An absolute URL for this message.

Returns:

  • (String)

    An absolute URL for this message.



469
470
471
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/message.rb', line 469

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.



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

def was_edited
  @properties['was_edited']
end