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
Client#event:change_battery

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

createGroup(name, participants) → (Object, string, or Object with string properties)

Create a new group

Parameters

Name Type Optional Description

name

string

 

group title

participants

Array of (Contact or string)

 

an array of Contacts or contact IDs to add to the group

Returns

Object 

createRes

string 

createRes.gid - ID for the group that was just created

Object with string properties 

createRes.missingParticipants - participants that were not added to the group. Keys represent the ID for participant that was not added and its value is a status code that represents the reason why participant could not be added. This is usually 403 if the user's privacy settings don't allow you to add them to groups.

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

getInviteInfo(inviteCode) → Promise containing object

Returns an object with information about the invite code's group

Parameter

Name Type Optional Description

inviteCode

string

 

Returns

Promise containing object 

Invite information

async

getProfilePicUrl(contactId) → Promise containing string

Returns the contact ID's profile picture URL, if privacy settings allow it

Parameter

Name Type Optional Description

contactId

string

 

the whatsapp user's ID

Returns

Promise containing string 

async

getState() → WAState

Gets the current connection state for the client

Returns

WAState 

async

getWWebVersion()

Returns the version of WhatsApp Web currently being run

Returns

Promise

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

logout()

Logs out the client, closing the current session

async

muteChat(chatId, unmuteDate)

Mutes the Chat until a specified date

Parameters

Name Type Optional Description

chatId

string

 

ID of the chat that will be muted

unmuteDate

Date

 

Date when the chat will be unmuted

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

sendPresenceAvailable()

Marks the client as online

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 

async

unmuteChat(chatId)

Unmutes the Chat

Parameter

Name Type Optional Description

chatId

string

 

ID of the chat that will be unmuted

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_battery

Emitted when the battery percentage for the attached device changes

Parameters

Name Type Optional Description

batteryInfo

object

 

Values in batteryInfo have the following properties:

Name Type Optional Description

battery

number

 

The current battery percentage

plugged

boolean

 

Indicates if the phone is plugged in (true) or not (false)

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.