Skip to content

Latest commit

 

History

History
116 lines (78 loc) · 3.69 KB

File metadata and controls

116 lines (78 loc) · 3.69 KB

JuggleIM 服务端 Python SDK

零第三方运行时依赖的 JuggleIM Server REST API Python 客户端。

CI Python License Stars

English · 简体中文

官网 · 文档 · 服务端 API · IM Server


imserver-sdk-python 帮助可信任的 Python 业务后端调用 JuggleIM 服务端 API,无需重复实现请求签名、序列化和响应映射。SDK 只使用 Python 标准库,并且仅适用于服务端应用。

Important

App Secret 拥有服务端 API 的高权限。绝不能把它嵌入移动端、桌面端、浏览器或其他客户端应用。

API 覆盖

  • 用户:注册、资料、在线状态、封禁、黑名单、设备和设置
  • 消息:单聊、群聊、聊天室、广播、撤回和历史消息
  • 群组、会话、聊天室、好友、朋友圈和公众频道
  • 推送标签、敏感词、机器人、设备绑定和全局禁言

其他服务端语言可查看 GoJava SDK。

环境要求

  • Python 3.10 或更高版本
  • 正在运行的 JuggleIM 服务
  • 通过 JuggleIM 管理控制台创建的 App Key 和 App Secret

从源码安装

该软件包目前尚未发布到 PyPI,可直接安装带版本标签的源码:

python -m pip install "git+https://github.com/juggleim/imserver-sdk-python.git@v1.0.0"

本地开发:

git clone https://github.com/juggleim/imserver-sdk-python.git
cd imserver-sdk-python
python -m pip install -e .

快速开始

将服务端凭据保存在源码之外:

export JUGGLEIM_APP_KEY="your-app-key"
export JUGGLEIM_APP_SECRET="your-app-secret"
export JUGGLEIM_API_URL="http://127.0.0.1:9001"

注册一个用户:

import os

from juggleimsdk import User, new_juggle_im_sdk

sdk = new_juggle_im_sdk(
    os.environ["JUGGLEIM_APP_KEY"],
    os.environ["JUGGLEIM_APP_SECRET"],
    os.environ.get("JUGGLEIM_API_URL", "http://127.0.0.1:9001"),
)

user, code, trace_id, error = sdk.register(
    User(user_id="alice", nickname="Alice")
)

if error:
    raise RuntimeError(f"register failed: code={code}, trace_id={trace_id}: {error}")

print(user.user_id, user.token)

有响应数据的方法返回 (data, code, trace_id, error);无响应体的操作返回 (code, trace_id, error)。反馈请求失败时,请始终附带 trace ID。

更多操作请查看 examples/main.py服务端 API 文档

开发

测试不会调用真实的 JuggleIM 服务:

python -m unittest discover -s tests -v
python -m build

社区与支持

许可证

Apache License 2.0