- 实现了聊天消息发送功能,支持文本、图片、视频、音频、文件等多种消息类型 - 集成了文件上传下载功能,支持多媒体文件的传输和管理 - 添加了群组管理功能,包括创建群组、成员管理、权限控制等操作 - 实现了好友系统,支持好友添加、删除、分组等功能 - 集成了黑名单管理,提供用户屏蔽和解除屏蔽功能 - 添加了会话管理功能,支持对话列表、未读消息统计等 - 实现了历史消息查询和搜索功能 - 添加了实时连接状态管理和自动重连机制
113 行
1.8 KiB
Markdown
113 行
1.8 KiB
Markdown
# Python Server SDK
|
|
|
|
XuqmGroup 服务端 Python SDK,提供 IM 消息发送、群管理、Push 推送等能力。
|
|
|
|
---
|
|
|
|
## 安装
|
|
|
|
```bash
|
|
pip install xuqm-im-server-sdk
|
|
```
|
|
|
|
---
|
|
|
|
## 初始化
|
|
|
|
```python
|
|
from xuqm_im_server_sdk import XuqmImServerSdk
|
|
|
|
sdk = XuqmImServerSdk(
|
|
base_url="https://dev.xuqinmin.com",
|
|
app_id="your_app_id",
|
|
app_secret="your_app_secret",
|
|
)
|
|
```
|
|
|
|
> 服务端 SDK 需要 `app_secret` 用于 HMAC 签名,`app_secret` 绝不下发到客户端。
|
|
|
|
---
|
|
|
|
## 发送消息
|
|
|
|
```python
|
|
msg = sdk.send_message(
|
|
to_id="user_002",
|
|
chat_type="SINGLE",
|
|
msg_type="TEXT",
|
|
content="Hello from Python SDK!",
|
|
)
|
|
print(f"消息已发送: {msg['id']}")
|
|
```
|
|
|
|
### 发送群消息
|
|
|
|
```python
|
|
msg = sdk.send_message(
|
|
to_id="group_xxx",
|
|
chat_type="GROUP",
|
|
msg_type="TEXT",
|
|
content="大家好",
|
|
)
|
|
```
|
|
|
|
### 撤回消息
|
|
|
|
```python
|
|
sdk.revoke_message("message_id")
|
|
```
|
|
|
|
---
|
|
|
|
## 群管理
|
|
|
|
```python
|
|
# 创建群组
|
|
group = sdk.create_group(
|
|
name="项目讨论",
|
|
member_ids=["user_001", "user_002"],
|
|
)
|
|
|
|
# 添加群成员
|
|
sdk.add_group_member("group_xxx", "user_003")
|
|
|
|
# 移除群成员
|
|
sdk.remove_group_member("group_xxx", "user_003")
|
|
|
|
# 获取群列表
|
|
groups = sdk.list_groups()
|
|
|
|
# 获取群成员
|
|
members = sdk.list_group_members("group_xxx")
|
|
```
|
|
|
|
---
|
|
|
|
## Push 推送
|
|
|
|
```python
|
|
sdk.send_push(
|
|
user_id="user_001",
|
|
title="新消息",
|
|
body="你有一条未读消息",
|
|
payload={"chatId": "user_002"},
|
|
)
|
|
```
|
|
|
|
---
|
|
|
|
## 错误处理
|
|
|
|
SDK 在请求失败时会抛出 `XuqmAPIError` 异常:
|
|
|
|
```python
|
|
from xuqm_im_server_sdk import XuqmAPIError
|
|
|
|
try:
|
|
msg = sdk.send_message(to_id="user_002", chat_type="SINGLE", msg_type="TEXT", content="Hello")
|
|
except XuqmAPIError as e:
|
|
print(f"API 错误: status={e.status}, code={e.code}, message={e.message}")
|
|
```
|
|
|
|
[→ Server API 文档 →](/server/api)
|