new Client()

Extends
EventEmitter
Fires
Client#event:qr
Client#event:authenticated
Client#event:auth_failure
Client#event:ready
Client#event:message
Client#event:message_ack
Client#event:message_create
Client#event:message_revoke_me
Client#event:message_revoke_everyone
Client#event:media_uploaded
Client#event:group_join
Client#event:group_leave
Client#event:group_update
Client#event:disconnected
Client#event:change_state

Methods

async

acceptInvite(inviteCode)

Accepts an invitation to join a group

Parameter

Name Type Optional Description

inviteCode

string

 

Invitation code

async

archiveChat() → boolean

Enables and returns the archive state of the Chat

Returns

boolean 

async

destroy()

Closes the client

async

getChatById(chatId) → Promise containing Chat

Get chat instance by ID

Parameter

Name Type Optional Description

chatId

string

 

Returns

Promise containing Chat 

async

getChats() → Promise containing Array of Chat

Get all current chat instances

Returns

Promise containing Array of Chat 

async

getContactById(contactId) → Promise containing Contact

Get contact instance by ID

Parameter

Name Type Optional Description

contactId

string

 

Returns

Promise containing Contact 

async

getContacts() → Promise containing Array of Contact

Get all current contact instances

Returns

Promise containing Array of Contact 

async

getState() → WAState

Gets the current connection state for the client

Returns

WAState 

async

initialize()

Sets up events and requirements, kicks off authentication request

async

isRegisteredUser() → Promise containing Boolean

Check if a given ID is registered in whatsapp

Returns

Promise containing Boolean 

async

resetState()

Force reset of connection state for the client

async

sendMessage(chatId, content, options) → Promise containing Message

Send a message to a specific chatId

Parameters

Name Type Optional Description

chatId

string

 

content

(string, MessageMedia, or Location)

 

options

object

 

Returns

Promise containing Message 

Message that was just sent

async

sendSeen(chatId) → Promise containing boolean

Mark as seen for the Chat

Parameter

Name Type Optional Description

chatId

string

 

Returns

Promise containing boolean 

result

async

setStatus(status)

Sets the current user's status message

Parameter

Name Type Optional Description

status

string

 

New status message

async

unarchiveChat() → boolean

Changes and returns the archive state of the Chat

Returns

boolean 

Events

auth_failure

Emitted when there has been an error while trying to restore an existing session

Parameter

Name Type Optional Description

message

string

 

authenticated

Emitted when authentication is successful

Parameter

Name Type Optional Description

session

object

 

Object containing session information. Can be used to restore the session.

change_state

Emitted when the connection state changes

Parameter

Name Type Optional Description

state

WAState

 

the new connection state

disconnected

Emitted when the client has been disconnected

Parameter

Name Type Optional Description

reason

WAState

 

state that caused the disconnect

group_join

Emitted when a user joins the chat via invite link or is added by an admin.

Parameter

Name Type Optional Description

notification

GroupNotification

 

GroupNotification with more information about the action

group_leave

Emitted when a user leaves the chat or is removed by an admin.

Parameter

Name Type Optional Description

notification

GroupNotification

 

GroupNotification with more information about the action

group_update

Emitted when group settings are updated, such as subject, description or picture.

Parameter

Name Type Optional Description

notification

GroupNotification

 

GroupNotification with more information about the action

media_uploaded

Emitted when media has been uploaded for a message sent by the client.

Parameter

Name Type Optional Description

message

Message

 

The message with media that was uploaded

message

Emitted when a new message is received.

Parameter

Name Type Optional Description

message

Message

 

The message that was received

message_ack

Emitted when an ack event occurrs on message type.

Parameters

Name Type Optional Description

message

Message

 

The message that was affected

ack

MessageAck

 

The new ACK value

message_create

Emitted when a new message is created, which may include the current user's own messages.

Parameter

Name Type Optional Description

message

Message

 

The message that was created

message_revoke_everyone

Emitted when a message is deleted for everyone in the chat.

Parameters

Name Type Optional Description

message

Message

 

The message that was revoked, in its current state. It will not contain the original message's data.

revoked_msg

Message

 

The message that was revoked, before it was revoked. It will contain the message's original data. Note that due to the way this data is captured, it may be possible that this param will be undefined.

Value can be null.

message_revoke_me

Emitted when a message is deleted by the current user.

Parameter

Name Type Optional Description

message

Message

 

The message that was revoked

qr

Emitted when the QR code is received

Parameter

Name Type Optional Description

qr

string

 

QR Code

ready

Emitted when the client has initialized and is ready to receive messages.