Scaledrone Python:轻量级的实时消息推送客户端

ScaleDrone 是一家提供实时消息服务的平台,帮助开发者在 Web 和移动应用中集成实时通信能力。scaledrone-python 是其官方 Python API 客户端,对 REST API 做了封装。

正文顶部截图

README区域截图

这个库封装了 Scaledrone 平台的主要 REST 接口,支持消息发布、频道统计、用户列表查询等功能。开发者可以用它在 Python 后端向 Scaledrone 频道推送消息,或是查询当前在线用户和房间状态。接口返回的数据格式清晰,便于后续处理。


安装

通过 pip 直接安装:

pip install scaledrone

安装过程依赖 Python 的 requests 库,用于处理 HTTP 请求。如果环境中尚未安装 requests,pip 会在安装 scaledrone 时自动处理依赖。


初始化客户端

使用 Scaledrone 之前,需要在平台上创建一个频道,然后从控制台的频道页面获取 channel_id 和 secret_key。这两个参数分别标识了目标频道和验证身份,将它们传入 Scaledrone 类即可完成初始化:

from scaledrone import Scaledrone

drone = Scaledrone('channel_id', 'secret_key')

发布消息

向单个房间推送消息是最常用的操作。房间名由开发者自定义,消息内容可以是任意可被 JSON 序列化的 Python 数据结构,比如字典、列表等:

room = 'notifications'
message = {'foo': 'bar'}
response = drone.publish(room, message)

消息发布后,订阅了该房间的客户端会实时收到这条数据。

如果业务场景需要同时向多个房间广播同一条消息,也可以传入房间列表,无需多次调用:

rooms = ['room1', 'room2']
message = {'foo': 'bar'}
response = drone.publish(rooms, message)

查询频道统计

获取当前频道的在线用户数量:

response = drone.channel_stats()
print(response.json()) # {users_count: 10}

这个接口适合用于在管理后台展示实时在线人数,或是根据在线人数动态调整业务策略。


查询用户列表

获取所有房间的用户列表:

response = drone.members_list()
print(response.json()) # ["user1", "user2"]

获取某个房间内的用户:

response = drone.room_members_list('my-room')
print(response.json()) # ["user3", "user4"]

这两个接口可以用于展示在线用户,或是实现基于用户身份的权限控制逻辑。


查询房间列表

获取当前有用户的所有房间:

response = drone.rooms_list()
print(response.json()) # ["room1", "room2"]

获取所有房间及其用户成员的映射关系:

response = drone.all_room_members_list()
print(response.json()) # {"room1": ["user1", "user2"], "room2": ["user1"]}

这个接口一次性返回房间和用户的完整映射,适合用于后台管理或数据分析场景。


API 响应

所有接口返回的都是 Python requests 库的 Response 对象。这意味着开发者可以调用 .json() 方法直接解析 JSON 数据,也可以访问 status_code、headers 等标准属性来检查请求状态。


测试

项目源码中附带了一个 test.py 文件,运行即可执行测试:

python test.py

版本历史

0.2.0 版本实现了最新的 REST API 端点,发送数据格式改为 JSON。0.1.0 是初始版本。

这个库代码精简,接口设计直观,适合需要在 Python 后端集成 Scaledrone 实时消息服务的开发者。整体依赖少,接入成本低,能够快速实现服务端的消息推送能力。

现了最新的 REST API 端点,发送数据格式改为 JSON。0.1.0 是初始版本。

这个库代码精简,接口设计直观,适合需要在 Python 后端集成 Scaledrone 实时消息服务的开发者。整体依赖少,接入成本低,能够快速实现服务端的消息推送能力。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐