# vynect/venom

**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/vynect-venom).**

6,564 stars · 1,332 forks · TypeScript · Apache-2.0

## Links

- GitHub: https://github.com/vynect/venom
- Homepage: https://orkestral.io
- awesome-repositories: https://awesome-repositories.com/repository/vynect-venom.md

## Topics

`ai` `ai-bot` `bot` `bot-javascript` `bot-typescript` `chat` `chatbot` `framework` `message` `orkestral` `puppeteer` `sulla` `venom` `whatsapp` `whatsapp-api` `whatsapp-bot` `zap-api` `zap-bot`

## Description

Venom is a TypeScript library for building automated bots that interact with WhatsApp. It provides a complete toolkit for programmatically managing chats, groups, and messages by bridging into the WhatsApp Web protocol through WebSocket communication. The library handles authentication via QR code scanning, session persistence to avoid repeated logins, and real-time event listening for message delivery, edits, deletions, and connection state changes.

The library offers a command-based routing system that directs incoming messages to handler functions based on pattern matching, alongside an event-driven pipeline for processing messages through middleware. It includes group state management for tracking membership and roles, multi-format media encoding for sending images, videos, documents, and audio, and a polling-free connection monitor that uses WebSocket keep-alives. Session credentials can be saved and restored from local storage to maintain persistent connections.

Venom supports sending and receiving text, media, and interactive messages such as polls, list menus, and buttons. It provides tools for managing group settings including creation, participant control, and admin roles, as well as chat organization features like pinning, archiving, muting, and deleting conversations. The library also includes device management capabilities for monitoring connection state, battery level, and app version, along with profile management for updating status, display name, and profile picture.

## Tags

### Networking & Communication

- [WhatsApp Bot Frameworks](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/messaging-platform-integrations/whatsapp-integrations/whatsapp-bot-frameworks.md) — Builds automated bots for WhatsApp to handle customer service, media sending, and message processing without manual intervention.
- [WhatsApp Messaging Integrations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations.md) — Sends and receives text, media, and interactive messages programmatically through WhatsApp to automate communication workflows.
- [Message Handlers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/whatsapp-messaging-integrations/message-handlers.md) — Implements an event-driven system for listening to incoming messages and triggering automated responses.
- [Text Message Senders](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-automation/text-message-senders.md) — Sends text messages to contacts or groups programmatically without manual intervention. ([source](https://orkestral.github.io/venom))
- [WebSocket Protocol Bridges](https://awesome-repositories.com/f/networking-communication/custom-whatsapp-clients/websocket-protocol-bridges.md) — Interacts with WhatsApp Web by intercepting and injecting WebSocket messages to emulate a browser client session.
- [Messaging Event Callbacks](https://awesome-repositories.com/f/networking-communication/discord-integrations/messaging-event-callbacks.md) — Triggers callbacks when messages are sent, edited, deleted, or when their delivery status changes to react in real time. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [WhatsApp Interaction Handlers](https://awesome-repositories.com/f/networking-communication/incoming-message-processors/whatsapp-interaction-handlers.md) — Processes incoming WhatsApp messages, commands, or events in real time to automate replies. ([source](https://orkestral.github.io/venom))
- [WhatsApp Message Receptions](https://awesome-repositories.com/f/networking-communication/incoming-message-processors/whatsapp-message-receptions.md) — Listens for and processes new WhatsApp messages as they arrive in real time. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [WhatsApp Text Senders](https://awesome-repositories.com/f/networking-communication/text-message-transmission/whatsapp-text-senders.md) — Sends plain text messages to any contact or group using the chat identifier. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [Chat Organization](https://awesome-repositories.com/f/networking-communication/chat-organization.md) — Pins, archives, mutes, deletes, or clears chats and marks messages as unseen to keep the conversation list tidy. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [In-Memory Group State Trackers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-paradigms/group-membership-management/group-role-administration/in-memory-group-state-trackers.md) — Maintains an in-memory representation of group membership and roles for administrative actions.
- [WebSocket Keep-Alive Monitors](https://awesome-repositories.com/f/networking-communication/connection-and-latency-optimizers/connection-polling-optimizations/websocket-keep-alive-monitors.md) — Uses WebSocket keep-alive and event callbacks to track connection state without periodic polling.

### Part of an Awesome List

- [WhatsApp Group](https://awesome-repositories.com/f/awesome-lists/devops/management-bots/whatsapp-group.md) — Creates and manages WhatsApp groups by adding or removing participants, promoting admins, and updating group settings.
- [Group Managers](https://awesome-repositories.com/f/awesome-lists/devops/management-bots/whatsapp-group/group-managers.md) — Ships a dedicated component for creating and managing WhatsApp groups with participant and admin controls.
- [Chat Media Senders](https://awesome-repositories.com/f/awesome-lists/media/media-and-files/chat-media-senders.md) — Sends images, videos, audio files, documents, and stickers to contacts or groups. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [Media Senders](https://awesome-repositories.com/f/awesome-lists/media/media-and-files/messaging-multimedia-transmission/whatsapp-multimedia-transmissions/media-senders.md) — Provides a utility for sending images, videos, documents, and audio files to WhatsApp contacts and groups.

### Business & Productivity Software

- [Group Settings Management](https://awesome-repositories.com/f/business-productivity-software/group-management/group-settings-management.md) — Creates groups, adds or removes participants, promotes or demotes admins, and changes group descriptions to control group membership. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))

### Development Tools & Productivity

- [WhatsApp Session Persisters](https://awesome-repositories.com/f/development-tools-productivity/database-session-management/session-state-persistence/whatsapp-session-persisters.md) — Saves and restores WhatsApp authentication credentials to avoid repeated QR code scans. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))

### Security & Cryptography

- [WhatsApp Session Lifecycles](https://awesome-repositories.com/f/security-cryptography/multi-account-session-management/whatsapp-session-lifecycles.md) — Manages WhatsApp session lifecycles including QR code login, connection state, and session persistence.
- [WhatsApp Session Initiations](https://awesome-repositories.com/f/security-cryptography/session-lifecycle-management/session-generation/whatsapp-session-initiations.md) — Manages WhatsApp device connections with QR code login, session persistence, and connection state monitoring.
- [Persistent Token Authenticators](https://awesome-repositories.com/f/security-cryptography/token-authentication/persistent-token-authenticators.md) — Saves and restores authentication credentials from a local store to avoid repeated QR code scans.

### Web Development

- [Event-Driven Messaging Systems](https://awesome-repositories.com/f/web-development/event-driven-messaging-systems.md) — Processes messages through a chain of event listeners and middleware for real-time automation.
- [WhatsApp Event Listeners](https://awesome-repositories.com/f/web-development/event-listeners/realtime-connection-state-listeners/browser-event-listeners/whatsapp-event-listeners.md) — Listening to real-time WhatsApp events such as message delivery, edits, deletions, and connection state changes to trigger automated responses.
- [Pattern-Matching Routers](https://awesome-repositories.com/f/web-development/routing-systems/pattern-matching-routers.md) — Routes incoming messages to handler functions using pattern matching for automated replies.

### Data & Databases

- [Media Payload Encoders](https://awesome-repositories.com/f/data-databases/data-serialization-formats/data-formats/binary-json-alternatives/multi-format-encoders/media-payload-encoders.md) — Encodes images, videos, documents, and audio into WhatsApp-compatible binary payloads for transmission.

### System Administration & Monitoring

- [Chat Message Retrieval](https://awesome-repositories.com/f/system-administration-monitoring/chat-message-retrieval.md) — Fetches all chats, contacts, groups, and messages including unread and archived items to review past conversations. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [State Change Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/resource-monitoring/resource-change-monitors/state-change-monitoring.md) — Monitors connection state transitions and stream status to detect conflicts or disconnections and respond accordingly. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))

### User Interface & Experience

- [WhatsApp Interactive Senders](https://awesome-repositories.com/f/user-interface-experience/buttons/interactive-message/whatsapp-interactive-senders.md) — Sends polls, list menus, and buttons with reply options to engage recipients in structured conversations. ([source](https://cdn.jsdelivr.net/gh/vynect/venom@master/README.md))
- [Chat](https://awesome-repositories.com/f/user-interface-experience/multimedia-embeds/media-attachments/chat.md) — Transmits images, videos, documents, or audio files to chats through the bot interface. ([source](https://orkestral.github.io/venom))
