whatsmeow is a Go library for the WhatsApp web multidevice API.
Matrix room: #whatsmeow:maunium.net
For questions about the WhatsApp protocol (like how to send a specific type of message), you can also use the WhatsApp protocol Q&A section on GitHub discussions.
The godoc includes docs for all methods and event types. There's also a simple example at the top.
Most core features are already present:
- Sending messages to private chats and groups (both text and media)
 - Receiving all messages
 - Managing groups and receiving group change events
 - Joining via invite messages, using and creating invite links
 - Sending and receiving typing notifications
 - Sending and receiving delivery and read receipts
 - Reading and writing app state (contact list, chat pin/mute status, etc)
 - Sending and handling retry receipts if message decryption fails
 - Sending status messages (experimental, may not work for large contact lists)
 
Things that are not yet implemented:
- Sending broadcast list messages (this is not supported on WhatsApp web either)
 - Calls