Class: Client

Client

A Client provides an interface for the local User to interact with Channels. The Client constructor will synchronously return an instance of Client, and will hold any outgoing methods until it has asynchronously finished syncing with the server.

new Twilio.IPMessaging.Client(accessManager, options)

Parameters:
Name Type Description
accessManager AccessManager The Client's AccessManager
options Client#ClientOptions Options to customize the Client
Properties:
Name Type Description
accessManager AccessManager The Client's AccessManager
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#getChannels.
userInfo UserInfo User information for logged in user
identity String Deprecated: User identity for logged in user
Fires:

Members


<readonly> version :String

Current version of this IP Messaging Client.
Type:
  • String

Methods


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>

getChannels()

Get the current list of all Channels the Client knows about.
Returns:
Type
Promise.<Array.<Channel>>

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>

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']
wsServer String <optional>
A custom websocket server to connect to.

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.
isPrivate Boolean <optional>
Whether or not this Channel should be visible to uninvited Clients.
friendlyName String <optional>
The non-unique display name of the Channel.
uniqueName String <optional>
The unique identity name of the Channel.

Events


channelAdded

Fired when a Channel becomes visible to the Client.
Parameters:
Name Type Description
channel Channel

channelInvited

Fired when the Client is invited to a Channel.
Parameters:
Name Type Description
channel Channel

channelJoined

Fired when the Client joins a Channel.
Parameters:
Name Type Description
channel Channel

channelLeft

Fired when the Client leaves a Channel.
Parameters:
Name Type Description
channel Channel

channelRemoved

Fired when a Channel is no longer visible to the Client.
Parameters:
Name Type Description
channel Channel

channelUpdated

Fired when a Channel's attributes or metadata have been updated.
Parameters:
Name Type Description
channel Channel

memberJoined

Fired when a Member has joined the Channel.
Parameters:
Name Type Description
member Member

memberLeft

Fired when a Member has left the Channel.
Parameters:
Name Type Description
member Member

memberUpdated

Fired when a Member's fields has been updated.
Parameters:
Name Type Description
member Member

messageAdded

Fired when a new Message has been added to the Channel on the server.
Parameters:
Name Type Description
message Message

messageRemoved

Fired when Message is removed from Channel's message list.
Parameters:
Name Type Description
message Message

messageUpdated

Fired when an existing Message's fields are updated with new values.
Parameters:
Name Type Description
message Message

tokenExpired

Fired when the supplied token expires.

typingEnded

Fired when a member has stopped typing.
Parameters:
Name Type Description
member Member

typingStarted

Fired when a member has begun typing.
Parameters:
Name Type Description
member Member

userInfoUpdated

Fired when a userInfo has been updated.
Parameters:
Name Type Description
UserInfo UserInfo