Client
Source: Client.
Starting point for interacting with the WhatsApp Web API
Property
Methods
new Client(options)
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
options |
|
|
Client options Values in
|
- 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
Property
info ClientInfo
Current connection information
Methods
acceptInvite(inviteCode)
Accepts an invitation to join a group
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
inviteCode |
string |
|
Invitation code |
archiveChat() → boolean
Enables and returns the archive state of the Chat
- Returns
-
boolean
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
-
ObjectcreateRes
-
stringcreateRes.gid - ID for the group that was just created
-
Object with string propertiescreateRes.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.
destroy()
Closes the client
getChatById(chatId) → Promise containing Chat
Get chat instance by ID
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
chatId |
string |
|
- Returns
-
Promise containing Chat
getChats() → Promise containing Array of Chat
Get all current chat instances
- Returns
-
Promise containing Array of Chat
getContactById(contactId) → Promise containing Contact
Get contact instance by ID
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
contactId |
string |
|
- Returns
-
Promise containing Contact
getContacts() → Promise containing Array of Contact
Get all current contact instances
- Returns
-
Promise containing Array of Contact
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 objectInvite information
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
getState() → WAState
Gets the current connection state for the client
- Returns
getWWebVersion() → Promise containing string
Returns the version of WhatsApp Web currently being run
- Returns
-
Promise containing string
initialize()
Sets up events and requirements, kicks off authentication request
isRegisteredUser(id) → Promise containing Boolean
Check if a given ID is registered in whatsapp
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
id |
string |
|
the whatsapp user's ID |
- Returns
-
Promise containing Boolean
logout()
Logs out the client, closing the current session
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 |
pinChat() → Promise containing boolean
Pins the Chat
- Returns
-
Promise containing booleanNew pin state. Could be false if the max number of pinned chats was reached.
resetState()
Force reset of connection state for the client
sendMessage(chatId, content[, options]) → Promise containing Message
Send a message to a specific chatId
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
chatId |
string |
|
|
|
content |
(string, MessageMedia, Location, Contact, or Array of Contact) |
|
|
|
options |
Yes |
Options used when sending the message |
- Returns
-
Promise containing MessageMessage that was just sent
sendPresenceAvailable()
Marks the client as online
sendSeen(chatId) → Promise containing boolean
Mark as seen for the Chat
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
chatId |
string |
|
- Returns
-
Promise containing booleanresult
setDisplayName(displayName)
Sets the current user's display name. This is the name shown to WhatsApp users that have not added you as a contact beside your number in groups and in your profile.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
displayName |
string |
|
New display name |
setStatus(status)
Sets the current user's status message
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
status |
string |
|
New status message |
unarchiveChat() → boolean
Changes and returns the archive state of the Chat
- Returns
-
boolean
unmuteChat(chatId)
Unmutes the Chat
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
chatId |
string |
|
ID of the chat that will be unmuted |
unpinChat() → Promise containing boolean
Unpins the Chat
- Returns
-
Promise containing booleanNew pin state
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
Parameters
| Name | Type | Optional | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
session |
object |
|
Object containing session information. Can be used to restore the session. Values in
|
change_battery
Emitted when the battery percentage for the attached device changes
Parameters
| Name | Type | Optional | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
batteryInfo |
object |
|
Values in
|
change_state
Emitted when the connection state changes
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
state |
|
the new connection state |
disconnected
Emitted when the client has been disconnected
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
reason |
|
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 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 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 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 |
|
The message with media that was uploaded |
message
Emitted when a new message is received.
Parameter
| Name | Type | Optional | Description |
|---|---|---|---|
|
message |
|
The message that was received |
message_ack
Emitted when an ack event occurrs on message type.
Parameters
| Name | Type | Optional | Description |
|---|---|---|---|
|
message |
|
The message that was affected |
|
|
ack |
|
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 |
|
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 |
|
The message that was revoked, in its current state. It will not contain the original message's data. |
|
|
revoked_msg |
|
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 |
|
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.