# tulir/whatsmeow

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tulir-whatsmeow).**

5,444 stars · 860 forks · Go · mpl-2.0

## Links

- GitHub: https://github.com/tulir/whatsmeow
- Homepage: https://go.mau.fi/whatsmeow
- awesome-repositories: https://awesome-repositories.com/repository/tulir-whatsmeow.md

## Topics

`go` `golang` `whatsapp` `whatsapp-web`

## Description

whatsmeow is a Go library that implements the WhatsApp multidevice protocol, providing direct access to the binary node serialization, WebSocket-based connection management, and Signal‑Protocol encryption that underpin WhatsApp’s messaging infrastructure. It maintains persistent, low-latency connections across multiple devices, handles session credentials independently for each device, and processes incoming events through an event‑driven dispatch system for messages, receipts, and presence updates.

The library differentiates itself through comprehensive client‑side state management: it caches contact and chat data locally, synchronizes group metadata and membership via delta updates from the server, and supports chunked, encrypted uploads of media files. This architecture enables real‑time group administration, media exchange, and automated message handling without requiring an intermediary service.

## Tags

### Networking & Communication

- [WhatsApp Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations.md) — A Go library that implements the WhatsApp multidevice protocol for building messaging applications.
- [Message Posting and Retrieval](https://awesome-repositories.com/f/networking-communication/messaging-channel-management/message-posting-and-retrieval.md) — Transmits and retrieves text, media, and system messages to and from WhatsApp conversations. ([source](https://cdn.jsdelivr.net/gh/tulir/whatsmeow@main/README.md))
- [Real-Time Messaging Protocols](https://awesome-repositories.com/f/networking-communication/real-time-messaging-protocols.md) — Implements the multidevice WebSocket protocol for persistent, low-latency real-time message exchange.
- [WhatsApp Bot Frameworks](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/whatsapp-bot-frameworks.md) — Provides the underlying library for building automated WhatsApp bots that send and receive messages and manage groups.
- [WhatsApp Messaging Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations.md) — Automates sending and receiving text, media, and system messages through the WhatsApp protocol.
- [Chat Operation Automations](https://awesome-repositories.com/f/networking-communication/chat-operation-automations.md) — Automates WhatsApp chat workflows including typing indicators, read receipts, and preference synchronization.
- [Contact Caches](https://awesome-repositories.com/f/networking-communication/contact-management/contact-caches.md) — Caches contact and chat data locally for offline access and reduced network requests.
- [Client Session Management](https://awesome-repositories.com/f/networking-communication/network-reliability-diagnostics/connection-session-management/client-session-management.md) — Manages multiple device sessions with unique credentials, enabling simultaneous connections from different clients.

### Business & Productivity Software

- [Personalization Stores](https://awesome-repositories.com/f/business-productivity-software/user-preference-management/personalization-stores.md) — Synchronizes user preferences for contacts, chat pinning, and mute status across WhatsApp devices. ([source](https://cdn.jsdelivr.net/gh/tulir/whatsmeow@main/README.md))
- [WhatsApp Group Moderation](https://awesome-repositories.com/f/business-productivity-software/group-management/group-settings-management/whatsapp-group-moderation.md) — Supports creating, modifying, and moderating WhatsApp groups, including participant management and invite links.

### Security & Cryptography

- [End-to-End Encryption Protocols](https://awesome-repositories.com/f/security-cryptography/end-to-end-encryption-protocols.md) — Uses the Signal Protocol for end-to-end encryption of messages, ensuring secure communication between devices.

### Part of an Awesome List

- [Chunked Uploaders](https://awesome-repositories.com/f/awesome-lists/devtools/file-upload/chunked-uploaders.md) — Uploads media files by splitting them into encrypted chunks and sending them via HTTP to WhatsApp's servers.
- [WhatsApp Multimedia Transmissions](https://awesome-repositories.com/f/awesome-lists/media/media-and-files/messaging-multimedia-transmission/whatsapp-multimedia-transmissions.md) — Exchanges images, videos, and documents in WhatsApp conversations via the protocol's chunked upload mechanism.

### Data & Databases

- [Binary Serialization](https://awesome-repositories.com/f/data-databases/binary-serialization.md) — Encodes and decodes WhatsApp's custom binary node format for efficient WebSocket data transfer.
- [Event-Driven Message Dispatching](https://awesome-repositories.com/f/data-databases/concurrent-data-processors/event-driven-message-dispatching.md) — Processes incoming WhatsApp events through a callback-based event dispatcher for messages, receipts, and presence updates.

### Software Engineering & Architecture

- [State Tracking](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-messaging/state-tracking.md) — Tracks chat presence, typing indicators, and delivery receipts via event-driven state updates. ([source](https://go.mau.fi/whatsmeow))

### System Administration & Monitoring

- [Cache Synchronizations](https://awesome-repositories.com/f/system-administration-monitoring/user-group-management/cache-synchronizations.md) — Synchronizes local group metadata and membership caches via delta updates from the server.

### Web Development

- [Presence Tracking](https://awesome-repositories.com/f/web-development/presence-tracking.md) — Tracks and synchronizes user presence, typing indicators, and chat state across devices for real-time awareness.
