# Baileys ## Docs - [Writing Custom Functionality](https://mintlify.wiki/whiskeysockets/Baileys/advanced/custom-functionality.md): Extend Baileys by intercepting and handling custom WhatsApp protocol messages - [Debugging & Troubleshooting](https://mintlify.wiki/whiskeysockets/Baileys/advanced/debugging.md): Enable debug logging, troubleshoot issues, and understand Baileys internals - [Protocol Details](https://mintlify.wiki/whiskeysockets/Baileys/advanced/protocol-details.md): Understanding WhatsApp's binary protocol, nodes, frames, and encoding - [WebSocket Events](https://mintlify.wiki/whiskeysockets/Baileys/advanced/websocket-events.md): Register callbacks for WebSocket events to intercept WhatsApp protocol messages - [AuthenticationState](https://mintlify.wiki/whiskeysockets/Baileys/api/auth/auth-state.md): Core authentication state types for managing WhatsApp session credentials and signal keys - [makeCacheableSignalKeyStore](https://mintlify.wiki/whiskeysockets/Baileys/api/auth/cacheable-signal-keystore.md): Add in-memory caching to SignalKeyStore implementations for improved performance - [useMultiFileAuthState](https://mintlify.wiki/whiskeysockets/Baileys/api/auth/multi-file-auth-state.md): Store authentication state across multiple files for efficient session management - [Browsers](https://mintlify.wiki/whiskeysockets/Baileys/api/browsers.md): Browser configuration constant and platform identification utilities - [makeWASocket](https://mintlify.wiki/whiskeysockets/Baileys/api/makewasocket.md): Main function to create a WhatsApp Web socket connection - [SocketConfig](https://mintlify.wiki/whiskeysockets/Baileys/api/socket-config.md): Complete interface documentation for Baileys socket configuration - [Chat Types](https://mintlify.wiki/whiskeysockets/Baileys/api/types/chat.md): Chat and conversation types for managing WhatsApp chats - [Contact Types](https://mintlify.wiki/whiskeysockets/Baileys/api/types/contact.md): Contact information types for WhatsApp users - [Event Types](https://mintlify.wiki/whiskeysockets/Baileys/api/types/events.md): BaileysEventMap and event emitter types for handling WhatsApp events - [Message Types](https://mintlify.wiki/whiskeysockets/Baileys/api/types/messages.md): Message types for sending and receiving WhatsApp messages - [Socket Configuration](https://mintlify.wiki/whiskeysockets/Baileys/api/types/socket.md): Socket configuration types and cache store interfaces - [Chat & JID Utilities](https://mintlify.wiki/whiskeysockets/Baileys/api/utils/chat-utils.md): Utility functions for working with WhatsApp JIDs (Jabber IDs) and chat identifiers - [Generic Utilities](https://mintlify.wiki/whiskeysockets/Baileys/api/utils/generic-utils.md): General-purpose utility functions for Baileys including JSON serialization, timing, and key operations - [Media Utilities](https://mintlify.wiki/whiskeysockets/Baileys/api/utils/media-utils.md): Utility functions for downloading, encrypting, and processing media messages in WhatsApp - [Message Utilities](https://mintlify.wiki/whiskeysockets/Baileys/api/utils/message-utils.md): Utility functions for creating, manipulating, and extracting information from WhatsApp messages - [Chat State Management](https://mintlify.wiki/whiskeysockets/Baileys/chats/chat-state.md): Mark messages as read/unread and manage chat states in WhatsApp using Baileys - [Modifying Chats](https://mintlify.wiki/whiskeysockets/Baileys/chats/modifying-chats.md): Archive, mute, pin, delete chats and star messages in WhatsApp using Baileys - [Presence Updates](https://mintlify.wiki/whiskeysockets/Baileys/chats/presence.md): Send presence updates, typing indicators, and manage online status in WhatsApp using Baileys - [User Queries](https://mintlify.wiki/whiskeysockets/Baileys/chats/user-queries.md): Query user information including existence checks, status, profile pictures, and business profiles using Baileys - [Authentication](https://mintlify.wiki/whiskeysockets/Baileys/concepts/authentication.md): Understanding Baileys authentication system, credentials, and session management - [Connection Lifecycle](https://mintlify.wiki/whiskeysockets/Baileys/concepts/connection.md): Managing WebSocket connections, handling disconnects, and implementing reconnection logic - [Event System](https://mintlify.wiki/whiskeysockets/Baileys/concepts/events.md): Understanding Baileys event system, BaileysEventMap, and event handling patterns - [Message Store](https://mintlify.wiki/whiskeysockets/Baileys/concepts/message-store.md): Implementing data storage for messages, chats, and contacts in Baileys - [WhatsApp IDs (JIDs)](https://mintlify.wiki/whiskeysockets/Baileys/concepts/whatsapp-ids.md): Understanding WhatsApp JID format, user IDs, group IDs, and JID utilities - [Creating Groups](https://mintlify.wiki/whiskeysockets/Baileys/groups/creating-groups.md): Learn how to create WhatsApp groups and perform initial setup with Baileys - [Group Metadata](https://mintlify.wiki/whiskeysockets/Baileys/groups/group-metadata.md): Fetch and understand group metadata including participants, description, settings, and more - [Group Settings](https://mintlify.wiki/whiskeysockets/Baileys/groups/group-settings.md): Configure group settings including announcements, locked settings, member permissions, and ephemeral messages - [Invite Codes](https://mintlify.wiki/whiskeysockets/Baileys/groups/invite-codes.md): Generate, revoke, and use WhatsApp group invite codes and links - [Managing Participants](https://mintlify.wiki/whiskeysockets/Baileys/groups/managing-participants.md): Add, remove, promote, and demote participants in WhatsApp groups - [Connecting with Pairing Code](https://mintlify.wiki/whiskeysockets/Baileys/guides/connecting-pairing-code.md): Authenticate Baileys using a pairing code instead of QR scanning - ideal for headless environments - [Connecting with QR Code](https://mintlify.wiki/whiskeysockets/Baileys/guides/connecting-qr-code.md): Learn how to authenticate your Baileys connection using QR code scanning with customizable browser configurations - [Handling Events](https://mintlify.wiki/whiskeysockets/Baileys/guides/handling-events.md): Complete guide to listening and responding to WhatsApp events in Baileys with real-world examples - [Session Management](https://mintlify.wiki/whiskeysockets/Baileys/guides/session-management.md): Save and restore authentication sessions to avoid repeated QR scanning and maintain persistent WhatsApp connections - [Socket Configuration](https://mintlify.wiki/whiskeysockets/Baileys/guides/socket-configuration.md): Complete reference for all Baileys socket configuration options with real examples from source code - [Installation](https://mintlify.wiki/whiskeysockets/Baileys/installation.md): Install Baileys and its dependencies to start building WhatsApp integrations - [Baileys - WhatsApp Web API](https://mintlify.wiki/whiskeysockets/Baileys/introduction.md): A lightweight, WebSocket-based TypeScript library for interacting with the WhatsApp Web API without browser dependencies - [Downloading Media](https://mintlify.wiki/whiskeysockets/Baileys/messaging/downloading-media.md): Download and process media from received WhatsApp messages - [Media Messages](https://mintlify.wiki/whiskeysockets/Baileys/messaging/media-messages.md): Send images, videos, audio, documents, and stickers with Baileys - [Message Options](https://mintlify.wiki/whiskeysockets/Baileys/messaging/message-options.md): Configure message behavior with ephemeral messages, quotes, mentions, and more - [Modifying Messages](https://mintlify.wiki/whiskeysockets/Baileys/messaging/modifying-messages.md): Edit and delete messages in WhatsApp using Baileys - [Sending Messages](https://mintlify.wiki/whiskeysockets/Baileys/messaging/sending-messages.md): Learn how to send messages using Baileys, from basic text to complex media messages - [Text Messages](https://mintlify.wiki/whiskeysockets/Baileys/messaging/text-messages.md): Send text messages with mentions, quotes, links, and formatting in Baileys - [Blocking Users](https://mintlify.wiki/whiskeysockets/Baileys/privacy/blocking-users.md): Block and unblock users, and fetch your blocklist in WhatsApp using Baileys - [Disappearing Messages](https://mintlify.wiki/whiskeysockets/Baileys/privacy/disappearing-messages.md): Enable disappearing messages in chats and send ephemeral messages that auto-delete after a specified time using Baileys - [Privacy Settings](https://mintlify.wiki/whiskeysockets/Baileys/privacy/privacy-settings.md): Fetch and update all WhatsApp privacy settings including last seen, online status, profile picture, status, read receipts, and groups using Baileys - [Quick Start](https://mintlify.wiki/whiskeysockets/Baileys/quickstart.md): Get connected to WhatsApp and send your first message in minutes