Commit Graph

77 Commits

Author SHA1 Message Date
Pedro Lopez
8bdecadba4 fix: don't call event handler for new messages directly to puppeteer
This was creating performance issues, specially on startup when the initial set of messages were being loaded for a client with many chats.
2020-03-13 00:09:43 -04:00
Pedro Lopez
49aacec4a7 fix: correctly splice and merge fetched messages
This was eliminating messages in the middle of the array instead of eliminating older messages to reach the specified limit.

close #97
2020-03-05 21:18:10 -04:00
Pedro Lopez
6e76fece91 docs: add jsdoc strings for group events 2020-03-01 14:58:06 -04:00
sahalMoidu
98458f760e feat : send conversation seen (#66)
After this commit, chats will be automatically marked as seen when a message is sent to it. If this is not the intended behavior, `sendSeen: false` can be set as part of the options object. 

You can also manually mark a conversation as seen by calling the sendSeen() function on the Chat.

Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
2020-03-01 14:42:35 -04:00
Aliyss Snow
48b9ae1e81 feat: listen to group events (#90)
This allows you to listen for user joins or leaves, description updates, subject updates, picture updates, and group settings updates.

Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
2020-03-01 14:32:58 -04:00
Aliyss Snow
588dc93c17 chore: added index.js for structures (#91)
- Allows for a cleaner integration (imo) in Client.js
2020-03-01 13:59:09 -04:00
Pedro Lopez
16fe865a9c feat: fetch chat messages
This will automatically fetch messages until it reaches the specified limit or there are no more messages. In the future, this should be extended to fetch messages before, after or around a specific message/date by adding props to the searchOptions object.

close #51
2020-02-29 16:01:13 -04:00
Pedro Lopez
b07b38bbe8 feat: Simulate recording audio in chat, clear recording/typing state, standardize chatstate change function names 2020-02-29 14:07:47 -04:00
Anderson de Oliveira Machado
d35f101fac feat: send typing in chat (#87)
Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
2020-02-29 13:55:27 -04:00
Jan Vlach
794c9e16fc feat: force state update (#77)
Whatsapp web will not update state until some action, this will force update client state.
First will set state to TIMEOUT, then to current state
2020-02-28 17:00:24 -04:00
Pedro Lopez
bb40218c66 docs: use MessageAck type 2020-02-26 23:33:11 -04:00
Pedro S. Lopez
ad3834e575 Update MessageAck constant for consistancy 2020-02-26 23:31:10 -04:00
Pedro Lopez
e6ef5929fc added ack constants and brief example 2020-02-26 23:18:09 -04:00
João Vitor Miranda
bb4ad11bfa feat: added ACK events (#73)
Implements ack change detection, making it possible to know when messages have been delivered, read, etc.

Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
2020-02-26 22:59:46 -04:00
Pedro Lopez
1ebaf56617 Merge branch 'master' of https://github.com/pedroslopez/whatsapp-web.js 2020-02-26 00:40:51 -04:00
Pedro Lopez
60ee2ca522 feat: delete chat, clear chat 2020-02-26 00:39:33 -04:00
Aliyss Snow
132424ea08 feat: archive chats (#63) 2020-02-25 20:06:46 -04:00
sahalMoidu
5c9e76e23f feat: refresh qr code (#68)
close #60
2020-02-23 12:20:11 -04:00
Pedro Lopez
3c500a6474 Merge branch 'master' of https://github.com/pedroslopez/whatsapp-web.js 2020-02-22 17:28:15 -04:00
Pedro Lopez
1c60c83e80 feat: Delete messages 2020-02-22 17:28:03 -04:00
sahalMoidu
1840826e2b feat : Check if the given number is a whatsapp number (#54)
* feat : Check if the given number is a whatsapp number

- Avoids sending message to non whatsapp number
- Gets the id of the user from whatsapp server rather than generating on client
2020-02-17 09:10:07 -04:00
sahalMoidu
6ade08e814 Implemented changes mentioned in SimiPrambos PR#28 (#52)
* Implemented changes mentioned in SimiPrambos PR#28
To reflect new code structure
2020-02-14 17:53:28 -04:00
Pedro Lopez
67784bc797 feat: get current connection state
Note: This only partly works, since the state may not be updated on WhatsApp's end. In the case of not being able to reach the phone, the state is only updated when the user performs an action, such as sending a message. This means that the state may be CONNECTED when we check, but the phone's really not connected.

ref #43
2020-02-11 22:26:33 -04:00
Fernando Cardoso
e385563883 Initialize the Script with the first browser tab (#47)
Suggestion for the script to start under the first tab of the browser, in order to reduce memory consumption.
2020-02-11 13:53:18 -04:00
Pedro Lopez
d44fd5d76a new event on connection state changed 2020-02-10 21:51:58 -04:00
Pedro Lopez
a293146ed8 fix: added timeout to accepted states
This makes the client more reliable since it doesn't quit as soon as it looses conection from the phone for a second. Messages should be queued by WhatsApp Web.
2020-02-10 21:44:56 -04:00
Pedro Lopez
ffe803306e fix: send message media
In some cases, the mediaBlob was not resolved correctly

ref: #38
2020-02-09 21:30:28 -04:00
Pedro Lopez
2607e6df3a fix: send message media in options object
An inconsistency in variable names was preventing media sent through the options object from being processed
2020-02-09 02:49:21 -04:00
Pedro Lopez
7deef27800 chore: mark version v1.0.0 2020-02-09 00:58:10 -04:00
Pedro Lopez
f947f75725 docs: add location to supported content types 2020-02-09 00:53:43 -04:00
Pedro Lopez
d1dba0f4c0 add disconnect reason 2020-02-09 00:53:00 -04:00
Pedro Lopez
64ed2c125b more message types 2020-02-09 00:46:00 -04:00
Pedro Lopez
5616613807 feat: Mention users, get user number from Contact model 2020-02-08 03:19:51 -04:00
Pedro Lopez
ef80f966ea fix: correctly get message contact in group chats 2020-02-08 03:18:32 -04:00
Pedro Lopez
edc2c7022d feat: change status message 2020-02-08 01:32:15 -04:00
Pedro Lopez
f2b286a319 feat: get contact's profile picture 2020-02-08 01:23:29 -04:00
Pedro Lopez
004312a99f expose some more fields on contacts 2020-02-08 01:17:06 -04:00
Pedro Lopez
2896aeb382 fix some doc related stuff 2020-02-08 01:01:33 -04:00
Pedro Lopez
7b229a39a4 feat: Send and receive location 2020-02-08 00:46:55 -04:00
Aliyss Snow
4b1768450f Get Mentions (#35) 2020-02-06 15:47:46 -04:00
Pedro Lopez
2f0480c80e docs: add more documentation 2020-02-04 23:04:51 -04:00
Pedro Lopez
a098d61b03 feat: send messages with attachments
close #3
2020-02-04 21:11:20 -04:00
Pedro Lopez
e717915f94 fix: don't get chat after accepting invite
This will now only return the chatId, since getting the chat at this point is unreliable.
2020-02-02 20:37:51 -04:00
Aliyss Snow
e2351db722 Added Contact Model (#34) 2020-02-02 19:08:36 -04:00
Aliyss Snow
b597e4a504 Added delete event message(#33)
* A hacky way of doing things but seems to work. Also after client restart.
2020-02-02 19:00:23 -04:00
Pedro Lopez
cc477f9545 Add eslint config and fix linting issues 2020-02-02 14:50:04 -04:00
Pedro Lopez
5b9413de5c [FIX] Expose Wap module
Setting group description and title did not work due to whatsapp no longer exposing it as it was previously.
2020-02-02 13:44:54 -04:00
Pedro Lopez
caa8598ec1 [+] Join groups by invite code 2020-02-02 00:52:51 -04:00
Pedro Lopez
a6cc5e5bf2 [+] Get quoted message
[FIX] Properly reply to messages sent by the current user
2020-02-01 22:41:53 -04:00
Pedro S. Lopez
ba8edc8d40 [+] Expose information about the logged in client (#19) 2020-02-01 21:16:03 -04:00