@ably/chat

中文文档
2.0.0发布于 2026/11/02Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 146.1万

Ably Chat是一组专为一系列聊天功能而设置的 API , 您可以创建 1: 1, 1: : Many, Many: 1 and Many: 许多聊天室 任何尺度。 它旨在满足广泛的聊天使用案例,如活流,游戏中交流,克特

中文使用文档
文档目录10 节
  1. 开始
  2. 支持的平台
  3. 安装
  4. Java 脚本/ 反应
  5. 使用量
  6. JavaScript / 类型脚本
  7. 反应
  8. 释放
  9. 贡献
  10. 支持、反馈和解决问题

Ably Chat Header npm version License

Ably Chat Java 脚本、 TypeScript 和 React SDK

Ably Chat是一组专为一系列聊天功能而设置的 API , 您可以创建 1: 1, 1: : Many, Many: 1 and Many: 许多聊天室 任何尺度。 它旨在满足一系列广泛的聊天使用案例,如活流,游戏中的交流,客户支持,或SaaS产品中的社会互动. 建造在 亚伯利的 core service, 它集成复杂的细节, 以便高效的聊天架构.


开始

所有你需要开始与艾比:


支持的平台

Ably旨在支持广泛的平台. 如果您遇到相容性问题, 请在寄存器或联系人中打开一个问题 辅助支助。 。 。 .

此 SDK 支持以下平台:

平台支助
浏览器所有主要的桌面和移动浏览器,包括Chrome,Firefox,Edge,Safari(iOS/macOS),Opera,和Android. 不支持 Internet Explorer .
节点.js版本22或更新.
类型脚本完全支持,库用TypeScript来写.
反应包括与反应生态系统深度融合的提供者和钩子.
原生反应所有回放原生平台. 可以报告问题或请求支持.
机器人通过 阿布·查特·克特林·SDK.
iOS系统通过 Ably Chat Swift SDK (英语).

安装

Chat SDK是建于Ably Pub/Sub SDK上方并以此来与Ably建立连接.

Java 脚本/ 反应

安装 Pub/Sub SDK 和 Chat SDK :

npm install @ably/pubsub-device @ably/chat

使用量

JavaScript / 类型脚本

以下代码连接了Ably的聊天服务,订阅了聊天室,并向该室发送了信息:

import { createClient } from '@ably/pubsub-device';
import { createChatClient, RoomStatus, RoomStatusChange } from '@ably/chat';

// Initialize Ably Pub/Sub Realtime client
// Note: For client-side applications, token authentication is recommended.
// See: https://ably.com/docs/auth
const pubsubClient = createClient({
  key: '<your-ably-api-key>',
  clientId: 'your-client-id',
});

// Create a chat client
const chatClient = createChatClient(pubsubClient);

// Get a chat room
const room = await chatClient.rooms.get('my-room');

// Monitor room status
room.onStatusChange((statusChange: RoomStatusChange) => {
  switch (statusChange.current) {
    case RoomStatus.Attached:
      console.log('Room is attached');
      break;
    case RoomStatus.Detached:
      console.log('Room is detached');
      break;
    case RoomStatus.Failed:
      console.log('Room failed:', statusChange.error);
      break;
    default:
      console.log('Room status:', statusChange.current);
  }
});

// Subscribe to messages
const subscription = room.messages.subscribe((event) => {
  console.log('Received message:', event.message.text);
});

// Attach to the room
await room.attach();

// Send a message
await room.messages.send({ text: 'Hello, World!' });

反应

对于反应应用,SDK提供接钩和提供商进行无缝整合:

import { createClient } from '@ably/pubsub-device';
import { createChatClient } from '@ably/chat';
import { ChatClientProvider, ChatRoomProvider, useMessages } from '@ably/chat/react';

// Initialize clients
// Note: For client-side applications, token authentication is recommended.
// See: https://ably.com/docs/auth
const pubsubClient = createClient({
  key: '<your-ably-api-key>',
  clientId: 'your-client-id',
});
const chatClient = createChatClient(pubsubClient);

// Wrap your app with providers
function App() {
  return (
    <ChatClientProvider client={chatClient}>
      <ChatRoomProvider name="my-room">
        <ChatComponent />
      </ChatRoomProvider>
    </ChatClientProvider>
  );
}

// Use hooks to interact with chat
function ChatComponent() {
  const { sendMessage } = useMessages({
    listener: (event) => {
      console.log('Received message:', event.message.text);
    },
  });

  const handleSend = async () => {
    await sendMessage({ text: 'Hello, World!' });
  };

  return <button onClick={handleSend}>Send Message</button>;
}

释放

这个 变动情况 包含此 SDK 最新发布的细节 。 您还可以查看所有 Ably 的发布 changelog.cably.com (英语)。 。 。 .


贡献

读取 捐款额 准则,协助Ably或 共享反馈或请求 一个新的功能.


支持、反馈和解决问题

为了帮助或技术支持,请访问Ably's 支持页面。您还可以查看 github问题 或者自己养活一个.

版本与发布记录

@ably/chat 共发布 28 个版本,首次发布于 2024/07/10;过去 12 个月发布了 7 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.0.0latest2026/11/023 天前
0.0.0-canary.20261001T1209.783b80e6canary2026/10/011 个月前
1.4.02026/06/015 个月前
1.3.12026/03/267 个月前
1.3.02026/03/048 个月前
1.2.02026/02/258 个月前

关于 @ably/chat 的常见问题

@ably/chat 是什么?

Ably Chat是一组专为一系列聊天功能而设置的 API , 您可以创建 1: 1, 1: : Many, Many: 1 and Many: 许多聊天室 任何尺度。 它旨在满足广泛的聊天使用案例,如活流,游戏中交流,克特

如何安装 @ably/chat?

在项目目录运行 npm install @ably/chat,或使用 pnpm add / yarn add / bun add。

@ably/chat 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ably/chat 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ably/chat 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@ably/chat 可以商用吗?

@ably/chat 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@ably/chat 的下载量有多少?

根据 npm 官方下载统计,@ably/chat 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,461,175 次,日均约 48,706 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ably/chat 还在维护吗?

最新版本 2.0.0 发布于 2026/11/02(3 天前);至今共发布 28 个版本,其中过去 12 个月发布了 7 个;首次发布于 2024/07/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。