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

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/v1/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

  • account_sid (String)

    The SID of the Account that created this Message resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 281

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']),
        'was_edited' => payload['was_edited'],
        'from' => payload['from'],
        'body' => payload['body'],
        'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
        'url' => payload['url'],
    }

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

Instance Method Details

#account_sidString

Returns The SID of the [Account](www.twilio.com/docs/api/rest/account) that created the Message resource.

Returns:



325
326
327
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 325

def 
    @properties['account_sid']
end

#attributesString

Returns The JSON string that stores application-specific data. Note If this property has been assigned a value, it’s only displayed in a FETCH action that returns a single resource; otherwise, it’s null. If the attributes have not been set, ‘{}` is returned.

Returns:

  • (String)

    The JSON string that stores application-specific data. Note If this property has been assigned a value, it’s only displayed in a FETCH action that returns a single resource; otherwise, it’s null. If the attributes have not been set, ‘{}` is returned.



331
332
333
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 331

def attributes
    @properties['attributes']
end

#bodyString

Returns The content of the message.

Returns:

  • (String)

    The content of the message.



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

def body
    @properties['body']
end

#channel_sidString

Returns The unique ID of the [Channel](www.twilio.com/docs/api/chat/rest/channels) the Message resource belongs to.

Returns:



349
350
351
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 349

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:



310
311
312
313
314
315
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 310

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 and time in GMT when the resource was created specified in [RFC 2822](www.ietf.org/rfc/rfc2822.txt) format.

Returns:



355
356
357
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 355

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date and time in GMT when the resource was last updated specified in [RFC 2822](www.ietf.org/rfc/rfc2822.txt) format.

Returns:



361
362
363
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 361

def date_updated
    @properties['date_updated']
end

#deleteBoolean

Delete the MessageInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



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

def delete

    context.delete
end

#fetchMessageInstance

Fetch the MessageInstance

Returns:



406
407
408
409
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 406

def fetch

    context.fetch
end

#fromString

Returns The [identity](www.twilio.com/docs/api/chat/guides/identity) of the message’s author. The default value is ‘system`.

Returns:



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

def from
    @properties['from']
end

#indexString

Returns The index of the message within the [Channel](www.twilio.com/docs/chat/api/channels).

Returns:



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

def index
    @properties['index']
end

#inspectObject

Provide a detailed, user friendly representation



436
437
438
439
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 436

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

#service_sidString

Returns The SID of the [Service](www.twilio.com/docs/api/chat/rest/services) the resource is associated with.

Returns:



337
338
339
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 337

def service_sid
    @properties['service_sid']
end

#sidString

Returns The unique string that we created to identify the Message resource.

Returns:

  • (String)

    The unique string that we created to identify the Message resource.



319
320
321
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 319

def sid
    @properties['sid']
end

#toString

Returns The SID of the [Channel](www.twilio.com/docs/chat/api/channels) that the message was sent to.

Returns:



343
344
345
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 343

def to
    @properties['to']
end

#to_sObject

Provide a user friendly representation



429
430
431
432
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 429

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

#update(body: :unset, attributes: :unset) ⇒ MessageInstance

Update the MessageInstance

Parameters:

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

    The message to send to the channel. Can also be an empty string or ‘null`, which sets the value as an empty string. You can send structured data in the body by serializing it as a string.

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

    A valid JSON string that contains application-specific data.

Returns:



416
417
418
419
420
421
422
423
424
425
# File 'lib/twilio-ruby/rest/chat/v1/service/channel/message.rb', line 416

def update(
    body: :unset, 
    attributes: :unset
)

    context.update(
        body: body, 
        attributes: attributes, 
    )
end

#urlString

Returns The absolute URL of the Message resource.

Returns:

  • (String)

    The absolute URL of the Message resource.



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

def url
    @properties['url']
end

#was_editedBoolean

Returns Whether the message has been edited since it was created.

Returns:

  • (Boolean)

    Whether the message has been edited since it was created.



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

def was_edited
    @properties['was_edited']
end