Class: Client

Client

A Client is a starting point to access Twilio Programmable Chat functionality.

new Twilio.Chat.Client(token, options)

This constructor is not supposed to be used directly. Using it for client initialization is deprecated and will be removed in the future. Please use factory method instead: Client.create
Parameters:
Name Type Description
token String Access token
options Client#ClientOptions Options to customize the Client
Properties:
Name Type Description
channels Map.<sid, Channel> A Map containing all Channels known locally on the Client. To ensure the Channels have loaded before getting a response, use Client#getSubscribedChannels.
connectionState 'disconnected' | 'connecting' | 'connected' | 'error' | 'denied' Service connection state
reachabilityEnabled Boolean State of reachability feature
user User Information for logged in user
version String Current version of Chat client
Fires:
  • Client#event:channelAdded
  • Client#event:channelInvited
  • Client#event:channelJoined
  • Client#event:channelLeft
  • Client#event:channelRemoved
  • Client#event:channelUpdated
  • Client#event:memberJoined
  • Client#event:memberLeft
  • Client#event:memberUpdated
  • Client#event:messageAdded
  • Client#event:messageRemoved
  • Client#event:messageUpdated
  • Client#event:typingEnded
  • Client#event:typingStarted
  • Client#event:userSubscribed
  • Client#event:userUnsubscribed
  • Client#event:userUpdated
  • Client#event:connectionStateChanged

Methods


<static> create(token, options)

Factory method to create Chat client instance.
Parameters:
Name Type Description
token String Access token
options Client#ClientOptions Options to customize the Client
Returns:
Type
Promise.<Client>

createChannel( [options])

Create a channel on the server.
Parameters:
Name Type Argument Description
options Client#CreateChannelOptions <optional>
Options for the Channel
Returns:
Type
Promise.<Channel>

getChannelBySid(channelSid)

Get a Channel by its SID.
Parameters:
Name Type Description
channelSid String The sid of the Channel to get
Returns:
Type
Promise.<Channel>

getChannelByUniqueName(uniqueName)

Get a Channel by its unique identifier name.
Parameters:
Name Type Description
uniqueName String The unique identifier name of the Channel to get
Returns:
Type
Promise.<Channel>

getPublicChannelDescriptors()

Get the public channels directory content
Returns:
Type
Promise.<Paginator.<ChannelDescriptor>>

getSubscribedChannels()

Get the current list of all subscribed Channels.
Returns:
Type
Promise.<Paginator.<Channel>>

getSubscribedUsers()

Returns:
List of subscribed User objects
Type
Promise.<Array.<User>>

getUser(identity)

Gets user for given identity, if it's in subscribed list - then return the user object from it, if not - then subscribes and adds user to the subscribed list.
Parameters:
Name Type Description
identity String Identity of User
Returns:
Fully initialized user
Type
Promise.<User>

getUserChannelDescriptors()

Returns:
Paginated user's channels descriptors
Type
Promise.<Paginator.<ChannelDescriptor>>

getUserDescriptor(identity)

Gets user descriptor for given identity.
Parameters:
Name Type Description
identity String Identity of User
Returns:
User descriptor
Type
Promise.<UserDescriptor>

handlePushNotification(notificationPayload)

Incoming push notification handler.
Parameters:
Name Type Description
notificationPayload Object Push notification payload

initialize()

Initializes library Library will be eventually initialized even without this method called, but client can use returned promise to track library initialization state. It's safe to call this method multiple times. It won't reinitialize library in ready state.
Returns:
Type
Promise.<Client>

setPushRegistrationId(channelType, registrationId)

Registers for push notifications.
Parameters:
Name Type Description
channelType string 'gcm', 'apn' and 'fcm' are supported
registrationId string Push notification id provided by platform

shutdown()

Gracefully shutting down library instance

updateToken(token)

Update the token used by the Client and re-register with Programmable Chat services.
Parameters:
Name Type Description
token String The JWT string of the new token
Returns:
Type
Promise.<Client>

Type Definitions


ClientOptions

These options can be passed to Client constructor
Type:
  • Object
Properties:
Name Type Argument Default Description
logLevel String <optional>
'error' The level of logging to enable. Valid options (from strictest to broadest): ['silent', 'error', 'warn', 'info', 'debug', 'trace']

CreateChannelOptions

These options can be passed to Client#createChannel
Type:
  • Object
Properties:
Name Type Argument Description
attributes Object <optional>
Any custom attributes to attach to the Channel.
friendlyName String <optional>
The non-unique display name of the Channel.
isPrivate Boolean <optional>
Whether or not this Channel should be visible to uninvited Clients.
uniqueName String <optional>
The unique identity name of the Channel.