*** id: 1ac3268e-33c8-44b3-8fa1-f9f514edb76c title: Chat Client sidebar-title: Client slug: /node/reference/chat/client description: Chat Client reference for chat messaging. max-toc-depth: 3 ---------------- [events]: /docs/server-sdk/v4/node/reference/chat/client/events [listen]: /docs/server-sdk/v4/node/reference/chat/client/listen [signalwire-realtime-client]: /docs/server-sdk/v4/node/reference/realtime-client The Chat Client enables real-time messaging between users. Access it via the `chat` property on a [`SignalWire Client`][signalwire-realtime-client]. ```javascript import { SignalWire } from "@signalwire/realtime-api"; const client = await SignalWire({ project: "", token: "" }); const chatClient = client.chat; ``` Use `subscribe()` to join channels, `publish()` to send messages, and [`listen`][listen] to receive events. See [Events][events] for all available events. ## Examples ### Listening for messages ```javascript await chatClient.listen({ channels: ["general", "support"], onMessageReceived: (message) => { console.log(`${message.channel}: ${message.content}`); } }); ``` ### Publishing messages ```javascript await chatClient.publish({ channel: "general", content: "Hello, world!", }); ```