服務與方法
本頁列出 Python SDK 的全部服務和方法,以及每個方法對應的 REST 介面。引數和返回值的含義見“文件”一列連結的 REST API 文件,SDK 的引數與 REST 介面的欄位同名,對應規則見命名規則。
DRClient 和 AsyncDRClient 的服務和方法完全相同,非同步客戶端的方法是協程,遍歷方法返回非同步迭代器。
表中各列的含義:
- REST 介面:路徑省略了字首
/{org_name}/{app_name}; - 介面名:錯誤的
op、client.stats()的鍵、鉤子收到的RequestInfo.op和測試輔助FakeOpenAPI中使用的名字,與方法名不完全相同(如users.list_mutes的介面名是users.mutes); - 自動重試:網路錯誤、超時、
5xx時 SDK 是否自動重試,類別的含義見重試與冪等。被限流時的等待重發對所有方法都有效,見限流; - 遍歷方法(
iter、iter_xxx)逐頁呼叫對應的列表介面,見自動翻頁;帶_all字尾的方法按上限拆分後逐批呼叫批次介面,見超過上限的批次。
使用者 client.users
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
list_muted | GET /mutes | users.list_muted | 查詢 | 查詢被禁言的使用者列表 |
iter_muted | 逐頁呼叫 GET /mutes | users.list_muted | 查詢 | 查詢被禁言的使用者列表 |
create | POST /users | users.create | 唯一建立 | 建立使用者 |
list | GET /users | users.list | 查詢 | 查詢使用者列表 |
iter | 逐頁呼叫 GET /users | users.list | 查詢 | 查詢使用者列表 |
batch_create | POST /users/batch | users.batch_create | 唯一建立 | 批次建立使用者 |
batch_create_all | 分批呼叫 POST /users/batch | users.batch_create | 唯一建立 | 批次建立使用者 |
lookup | POST /users/lookup | users.lookup | 查詢 | 按使用者名稱批次查詢 |
get | GET /users/{username} | users.get | 查詢 | 查詢使用者 |
update | PATCH /users/{username} | users.update | 冪等 | 修改使用者資料 |
delete | DELETE /users/{username} | users.delete | 冪等 | 刪除使用者 |
disable | POST /users/{username}/disable | users.disable | 冪等 | 封停用戶 |
enable | POST /users/{username}/enable | users.enable | 冪等 | 解封使用者 |
issue_login_ticket | POST /users/{username}/login-tickets | users.issue_login_ticket | 冪等 | 簽發登入憑證 |
list_mutes | GET /users/{username}/mutes | users.mutes | 查詢 | 查詢使用者的禁言 |
mute | PUT /users/{username}/mutes/{scope} | users.mute | 冪等 | 設定禁言 |
unmute | DELETE /users/{username}/mutes/{scope} | users.unmute | 冪等 | 解除禁言 |
set_password | PUT /users/{username}/password | users.set_password | 不重試 | 設定密碼 |
list_sessions | GET /users/{username}/sessions | users.sessions | 查詢 | 查詢登入裝置 |
kick_all | DELETE /users/{username}/sessions | users.kick_all | 不重試 | 踢掉全部裝置 |
kick | DELETE /users/{username}/sessions/{session_id} | users.kick | 冪等 | 踢掉單臺裝置 |
好友 client.friends
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
list_requests | GET /users/{username}/friend-requests | friends.requests | 查詢 | 查詢好友申請 |
iter_requests | 逐頁呼叫 GET /users/{username}/friend-requests | friends.requests | 查詢 | 查詢好友申請 |
get_settings | GET /users/{username}/friend-settings | friends.settings | 查詢 | 查詢加好友方式 |
set_settings | PUT /users/{username}/friend-settings | friends.set_settings | 冪等 | 設定加好友方式 |
list | GET /users/{username}/friends | friends.list | 查詢 | 查詢好友列表 |
iter | 逐頁呼叫 GET /users/{username}/friends | friends.list | 查詢 | 查詢好友列表 |
delete_all | DELETE /users/{username}/friends | friends.delete_all | 冪等 | 刪除全部好友 |
batch_add | POST /users/{username}/friends/batch | friends.batch_add | 冪等 | 批次新增好友 |
batch_add_all | 分批呼叫 POST /users/{username}/friends/batch | friends.batch_add | 冪等 | 批次新增好友 |
batch_delete | POST /users/{username}/friends/batch-delete | friends.batch_delete | 冪等 | 批次刪除好友 |
check | POST /users/{username}/friends/check | friends.check | 查詢 | 檢查好友關係 |
get | GET /users/{username}/friends/{friend} | friends.get | 查詢 | 查詢單個好友 |
add | PUT /users/{username}/friends/{friend} | friends.add | 冪等 | 新增好友 |
update | PATCH /users/{username}/friends/{friend} | friends.update | 冪等 | 修改好友備註和自定義屬性 |
delete | DELETE /users/{username}/friends/{friend} | friends.delete | 冪等 | 刪除好友 |
黑名單 client.blacklist
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
list | GET /users/{username}/blacklist | blacklist.list | 查詢 | 查詢黑名單 |
iter | 逐頁呼叫 GET /users/{username}/blacklist | blacklist.list | 查詢 | 查詢黑名單 |
batch_add | POST /users/{username}/blacklist/batch | blacklist.batch_add | 冪等 | 批次拉黑 |
batch_remove | POST /users/{username}/blacklist/batch-delete | blacklist.batch_remove | 冪等 | 批次移出黑名單 |
add | PUT /users/{username}/blacklist/{target} | blacklist.add | 冪等 | 拉黑使用者 |
remove | DELETE /users/{username}/blacklist/{target} | blacklist.remove | 冪等 | 移出黑名單 |
群組 client.groups
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
create | POST /groups | groups.create | 不重試 | 建立群 |
list | GET /groups | groups.list | 查詢 | 查詢群列表 |
iter | 逐頁呼叫 GET /groups | groups.list | 查詢 | 查詢群列表 |
get | GET /groups/{group_id} | groups.get | 查詢 | 查詢群資訊 |
update | PATCH /groups/{group_id} | groups.update | 冪等 | 修改群資料和設定 |
delete | DELETE /groups/{group_id} | groups.delete | 冪等 | 解散群 |
list_blacklist | GET /groups/{group_id}/blacklist | groups.blacklist | 查詢 | 查詢群黑名單 |
iter_blacklist | 逐頁呼叫 GET /groups/{group_id}/blacklist | groups.blacklist | 查詢 | 查詢群黑名單 |
add_to_blacklist | PUT /groups/{group_id}/blacklist/{username} | groups.add_to_blacklist | 冪等 | 將使用者加入群黑名單 |
remove_from_blacklist | DELETE /groups/{group_id}/blacklist/{username} | groups.remove_from_blacklist | 冪等 | 將使用者移出群黑名單 |
disable | POST /groups/{group_id}/disable | groups.disable | 冪等 | 封禁群 |
enable | POST /groups/{group_id}/enable | groups.enable | 冪等 | 解封群 |
list_members | GET /groups/{group_id}/members | groups.members | 查詢 | 查詢群成員列表 |
iter_members | 逐頁呼叫 GET /groups/{group_id}/members | groups.members | 查詢 | 查詢群成員列表 |
add_members | POST /groups/{group_id}/members/batch | groups.add_members | 冪等 | 批次新增群成員 |
remove_members | POST /groups/{group_id}/members/batch-delete | groups.remove_members | 冪等 | 批次移出群成員 |
get_member | GET /groups/{group_id}/members/{username} | groups.member | 查詢 | 查詢群成員 |
update_member | PATCH /groups/{group_id}/members/{username} | groups.update_member | 冪等 | 修改群成員資料 |
mute_member | PUT /groups/{group_id}/members/{username}/mute | groups.mute_member | 冪等 | 禁言群成員 |
unmute_member | DELETE /groups/{group_id}/members/{username}/mute | groups.unmute_member | 冪等 | 解除群成員禁言 |
set_role | PUT /groups/{group_id}/members/{username}/role | groups.set_role | 冪等 | 設定群成員角色 |
set_mute_all | PUT /groups/{group_id}/mute-all(on=True)DELETE /groups/{group_id}/mute-all(on=False) | groups.mute_allgroups.unmute_all | 冪等 | 開啟全員禁言 關閉全員禁言 |
transfer_owner | PUT /groups/{group_id}/owner | groups.transfer_owner | 冪等 | 轉讓群主 |
list_requests | GET /groups/{group_id}/requests | groups.requests | 查詢 | 查詢入群申請和邀請 |
iter_requests | 逐頁呼叫 GET /groups/{group_id}/requests | groups.requests | 查詢 | 查詢入群申請和邀請 |
get_invite_settings | GET /users/{username}/group-settings | groups.invite_settings | 查詢 | 查詢使用者的入群設定 |
set_invite_settings | PUT /users/{username}/group-settings | groups.set_invite_settings | 冪等 | 修改使用者的入群設定 |
list_of_user | GET /users/{username}/groups | groups.of_user | 查詢 | 查詢使用者加入的群 |
iter_of_user | 逐頁呼叫 GET /users/{username}/groups | groups.of_user | 查詢 | 查詢使用者加入的群 |
訊息 client.messages
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
send | POST /messages | messages.send | 冪等鍵;online_only=True 時不重試 | 傳送單條訊息 |
export | GET /messages | messages.export | 查詢 | 匯出應用的訊息 |
iter_export | 逐頁呼叫 GET /messages | messages.export | 查詢 | 匯出應用的訊息 |
batch_send | POST /messages/batch | messages.batch_send | 冪等鍵 | 批次傳送訊息 |
batch_send_all | 分批呼叫 POST /messages/batch | messages.batch_send | 冪等鍵 | 批次傳送訊息 |
batch_recall | POST /messages/batch-recall | messages.batch_recall | 冪等 | 批次撤回訊息 |
get | GET /messages/{message_id} | messages.get | 查詢 | 查詢單條訊息 |
edit | PATCH /messages/{message_id} | messages.edit | 冪等 | 編輯訊息 |
pin | PUT /messages/{message_id}/pin | messages.pin | 冪等 | 置頂訊息 |
unpin | DELETE /messages/{message_id}/pin | messages.unpin | 冪等 | 取消置頂訊息 |
recall | POST /messages/{message_id}/recall | messages.recall | 冪等 | 撤回訊息 |
list_sent_by | GET /users/{username}/sent-messages | messages.sent_by | 查詢 | 查詢使用者發出的訊息 |
iter_sent_by | 逐頁呼叫 GET /users/{username}/sent-messages | messages.sent_by | 查詢 | 查詢使用者發出的訊息 |
會話 client.conversations
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
get | GET /conversations/{conversation_id} | conversations.get | 查詢 | 查詢會話資訊 |
list_messages | GET /conversations/{conversation_id}/messages | conversations.messages | 查詢 | 拉取會話的歷史訊息 |
iter_messages | 逐頁呼叫 GET /conversations/{conversation_id}/messages | conversations.messages | 查詢 | 拉取會話的歷史訊息 |
list_pins | GET /conversations/{conversation_id}/pins | conversations.pins | 查詢 | 查詢會話中的置頂訊息 |
iter_pins | 逐頁呼叫 GET /conversations/{conversation_id}/pins | conversations.pins | 查詢 | 查詢會話中的置頂訊息 |
get_single | GET /single-conversations/{username}/{peer} | conversations.single | 查詢 | 查詢兩個使用者之間的單聊會話 |
list_of_user | GET /users/{username}/conversations | conversations.of_user | 查詢 | 查詢使用者的會話列表 |
iter_of_user | 逐頁呼叫 GET /users/{username}/conversations | conversations.of_user | 查詢 | 查詢使用者的會話列表 |
mark_all_read | POST /users/{username}/conversations/read-all | conversations.mark_all_read | 冪等 | 全部標記已讀 |
get_state_of_user | GET /users/{username}/conversations/{conversation_id} | conversations.state_of_user | 查詢 | 查詢使用者的單個會話 |
delete | DELETE /users/{username}/conversations/{conversation_id} | conversations.delete | 冪等 | 刪除會話 |
clear | POST /users/{username}/conversations/{conversation_id}/clear | conversations.clear | 冪等 | 清空聊天記錄 |
delete_messages | POST /users/{username}/conversations/{conversation_id}/messages/delete | conversations.delete_messages | 冪等 | 刪除訊息 |
mark_read | POST /users/{username}/conversations/{conversation_id}/read | conversations.mark_read | 冪等 | 標記會話已讀 |
unread_count | GET /users/{username}/unread-count | conversations.unread_count | 查詢 | 查詢使用者的未讀總數 |
檔案 client.media
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
upload | POST /media/uploads、上傳內容、POST /media/uploads/{file_id}/complete | media.create_upload 等 | 見上傳檔案 | 檔案上傳 |
resume_upload | GET /media/uploads/{file_id}/parts、補傳分片、POST /media/uploads/{file_id}/complete | media.uploaded_parts 等 | 冪等 | 檔案上傳 |
download | POST /media/download-urls,再從下載地址讀取 | media.download_urls | 查詢 | 換取下載地址 |
get_download_urls | POST /media/download-urls | media.download_urls | 查詢 | 換取下載地址 |
get_file | GET /media/files/{file_id} | media.file | 查詢 | 查詢檔案 |
delete_file | DELETE /media/files/{file_id} | media.delete_file | 冪等 | 刪除檔案 |
list_group_files | GET /media/groups/{group_id}/files | media.group_files | 查詢 | 查詢群檔案列表 |
iter_group_files | 逐頁呼叫 GET /media/groups/{group_id}/files | media.group_files | 查詢 | 查詢群檔案列表 |
create_upload | POST /media/uploads | media.create_upload | 不重試 | 建立上傳 |
cancel_upload | DELETE /media/uploads/{file_id} | media.cancel_upload | 冪等 | 取消上傳 |
complete_upload | POST /media/uploads/{file_id}/complete | media.complete_upload | 冪等 | 完成上傳 |
get_part_urls | POST /media/uploads/{file_id}/parts | media.part_urls | 查詢 | 索取分片上傳地址 |
list_uploaded_parts | GET /media/uploads/{file_id}/parts | media.uploaded_parts | 查詢 | 查詢已上傳的分片 |
usage | GET /media/usage | media.usage | 查詢 | 查詢儲存用量 |
推送設定 client.push
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
list_devices | GET /users/{username}/push-devices | push.devices | 查詢 | 查詢推送裝置 |
unbind_device | DELETE /users/{username}/push-devices/{session_id} | push.unbind_device | 冪等 | 解綁推送裝置 |
get_settings | GET /users/{username}/push-settings | push.settings | 查詢 | 查詢推送設定 |
update_settings | PATCH /users/{username}/push-settings | push.update_settings | 冪等 | 修改推送設定 |
list_mutes | GET /users/{username}/push-settings/conversations | push.mutes | 查詢 | 查詢會話免打擾 |
iter_mutes | 逐頁呼叫 GET /users/{username}/push-settings/conversations | push.mutes | 查詢 | 查詢會話免打擾 |
mute_group | PUT /users/{username}/push-settings/conversations/group/{group_id} | push.mute_group | 冪等 | 設定會話免打擾 |
unmute_group | DELETE /users/{username}/push-settings/conversations/group/{group_id} | push.unmute_group | 冪等 | 取消會話免打擾 |
mute_single | PUT /users/{username}/push-settings/conversations/single/{peer} | push.mute_single | 冪等 | 設定會話免打擾 |
unmute_single | DELETE /users/{username}/push-settings/conversations/single/{peer} | push.unmute_single | 冪等 | 取消會話免打擾 |
聊天室 client.chatrooms
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
create | POST /chatrooms | chatrooms.create | 不重試 | 建立聊天室 |
list | GET /chatrooms | chatrooms.list | 查詢 | 查詢聊天室列表 |
iter | 逐頁呼叫 GET /chatrooms | chatrooms.list | 查詢 | 查詢聊天室列表 |
online_counts | POST /chatrooms/online-counts | chatrooms.online_counts | 查詢 | 批次查詢線上人數 |
get | GET /chatrooms/{room_id} | chatrooms.get | 查詢 | 查詢聊天室資訊 |
update | PATCH /chatrooms/{room_id} | chatrooms.update | 冪等 | 修改聊天室資料 |
delete | DELETE /chatrooms/{room_id} | chatrooms.delete | 冪等 | 解散聊天室 |
set_admin | PUT /chatrooms/{room_id}/admins/{username} | chatrooms.set_admin | 冪等 | 設定管理員 |
remove_admin | DELETE /chatrooms/{room_id}/admins/{username} | chatrooms.remove_admin | 冪等 | 取消管理員 |
list_allowlist | GET /chatrooms/{room_id}/allowlist | chatrooms.allowlist | 查詢 | 查詢白名單 |
iter_allowlist | 逐頁呼叫 GET /chatrooms/{room_id}/allowlist | chatrooms.allowlist | 查詢 | 查詢白名單 |
add_to_allowlist | POST /chatrooms/{room_id}/allowlist | chatrooms.add_to_allowlist | 冪等 | 加入白名單 |
remove_from_allowlist | POST /chatrooms/{room_id}/allowlist/batch-delete | chatrooms.remove_from_allowlist | 冪等 | 移出白名單 |
get_attributes | GET /chatrooms/{room_id}/attributes | chatrooms.attributes | 查詢 | 查詢聊天室屬性 |
set_attributes | PUT /chatrooms/{room_id}/attributes | chatrooms.set_attributes | 冪等 | 設定聊天室屬性 |
remove_attributes | POST /chatrooms/{room_id}/attributes/batch-delete | chatrooms.remove_attributes | 冪等 | 刪除聊天室屬性 |
list_bans | GET /chatrooms/{room_id}/bans | chatrooms.bans | 查詢 | 查詢封禁名單 |
iter_bans | 逐頁呼叫 GET /chatrooms/{room_id}/bans | chatrooms.bans | 查詢 | 查詢封禁名單 |
ban | POST /chatrooms/{room_id}/bans | chatrooms.ban | 冪等 | 封停用戶 |
unban | POST /chatrooms/{room_id}/bans/batch-delete | chatrooms.unban | 冪等 | 解除封禁 |
disable | POST /chatrooms/{room_id}/disable | chatrooms.disable | 冪等 | 封禁聊天室 |
enable | POST /chatrooms/{room_id}/enable | chatrooms.enable | 冪等 | 解封聊天室 |
list_members | GET /chatrooms/{room_id}/members | chatrooms.members | 查詢 | 查詢聊天室成員列表 |
iter_members | 逐頁呼叫 GET /chatrooms/{room_id}/members | chatrooms.members | 查詢 | 查詢聊天室成員列表 |
kick | POST /chatrooms/{room_id}/members/batch-delete | chatrooms.kick | 冪等 | 移出聊天室成員 |
get_member | GET /chatrooms/{room_id}/members/{username} | chatrooms.member | 查詢 | 查詢使用者是否在聊天室裡 |
send | POST /chatrooms/{room_id}/messages | chatrooms.send | 冪等鍵;priority="low" 時不重試 | 傳送聊天室訊息 |
list_recent_messages | GET /chatrooms/{room_id}/messages | chatrooms.recent_messages | 查詢 | 查詢最近的訊息 |
recall | POST /chatrooms/{room_id}/messages/{message_id}/recall | chatrooms.recall | 冪等 | 撤回聊天室訊息 |
set_mute_all | PUT /chatrooms/{room_id}/mute-all(on=True)DELETE /chatrooms/{room_id}/mute-all(on=False) | chatrooms.mute_allchatrooms.unmute_all | 冪等 | 開啟全員禁言 關閉全員禁言 |
list_mutes | GET /chatrooms/{room_id}/mutes | chatrooms.mutes | 查詢 | 查詢禁言名單 |
iter_mutes | 逐頁呼叫 GET /chatrooms/{room_id}/mutes | chatrooms.mutes | 查詢 | 查詢禁言名單 |
mute | POST /chatrooms/{room_id}/mutes | chatrooms.mute | 冪等 | 禁言使用者 |
unmute | POST /chatrooms/{room_id}/mutes/batch-delete | chatrooms.unmute | 冪等 | 解除禁言 |
transfer_owner | PUT /chatrooms/{room_id}/owner | chatrooms.transfer_owner | 冪等 | 轉讓所有者 |
內容安全 client.moderation
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
process_pending | GET /moderation/items、GET /moderation/items/{item_id}/content、POST /moderation/items/{item_id}/decide | moderation.items 等 | 帶 version 作出結論,可以重試 | 稽核記錄 |
get_config | GET /moderation/config | moderation.config | 查詢 | 查詢稽核配置 |
update_config | PATCH /moderation/config | moderation.update_config | 冪等 | 修改稽核配置 |
list_items | GET /moderation/items | moderation.items | 查詢 | 查詢稽核記錄列表 |
iter_items | 逐頁呼叫 GET /moderation/items | moderation.items | 查詢 | 查詢稽核記錄列表 |
batch_decide | POST /moderation/items/batch-decide | moderation.batch_decide | 冪等 | 批次作出結論 |
get_item | GET /moderation/items/{item_id} | moderation.item | 查詢 | 查詢稽核記錄 |
get_item_content | GET /moderation/items/{item_id}/content | moderation.item_content | 查詢 | 讀取稽核記錄的內容 |
decide | POST /moderation/items/{item_id}/decide | moderation.decide | 冪等;帶 actions 不帶 version 時不重試 | 作出結論 |
escalate | POST /moderation/items/{item_id}/escalate | moderation.escalate | 不重試 | 轉交平臺 |
list_platform_actions | GET /moderation/platform-actions | moderation.platform_actions | 查詢 | 查詢平臺的處置 |
iter_platform_actions | 逐頁呼叫 GET /moderation/platform-actions | moderation.platform_actions | 查詢 | 查詢平臺的處置 |
report | POST /moderation/reports | moderation.report | 冪等 | 代使用者舉報 |
stats | GET /moderation/stats | moderation.stats | 查詢 | 查詢統計 |
check_text | POST /moderation/text-check | moderation.check_text | 查詢 | 檢查文本 |
list_violations | GET /moderation/users/{username}/violations | moderation.violations | 查詢 | 查詢使用者的違規 |
iter_violations | 逐頁呼叫 GET /moderation/users/{username}/violations | moderation.violations | 查詢 | 查詢使用者的違規 |
clear_violations | DELETE /moderation/users/{username}/violations | moderation.clear_violations | 冪等 | 清除使用者的違規 |
list_word_lists | GET /moderation/word-lists | moderation.word_lists | 查詢 | 查詢詞庫列表 |
create_word_list | POST /moderation/word-lists | moderation.create_word_list | 不重試 | 建立詞庫 |
get_word_list | GET /moderation/word-lists/{list_id} | moderation.word_list | 查詢 | 查詢詞庫 |
update_word_list | PATCH /moderation/word-lists/{list_id} | moderation.update_word_list | 冪等 | 修改詞庫 |
delete_word_list | DELETE /moderation/word-lists/{list_id} | moderation.delete_word_list | 冪等 | 刪除詞庫 |
list_words | GET /moderation/word-lists/{list_id}/words | moderation.words | 查詢 | 查詢詞條 |
iter_words | 逐頁呼叫 GET /moderation/word-lists/{list_id}/words | moderation.words | 查詢 | 查詢詞條 |
add_words | POST /moderation/word-lists/{list_id}/words/batch | moderation.add_words | 冪等 | 新增詞條 |
remove_words | POST /moderation/word-lists/{list_id}/words/batch-delete | moderation.remove_words | 冪等 | 刪除詞條 |
process_pending(handle, *, scene=UNSET, limit=20, stop_on_error=False) 逐條處理待稽核的記錄(狀態為 pending、auto_violation):讀取記錄的內容,呼叫 handle(item, content),按它返回的 Decision 作出結論,返回 None 時跳過;返回作出結論的條數。作出結論時帶上讀到的 version,所以可以安全重試,已被別人處理(version_conflict)的記錄跳過;handle 出錯時記日誌並繼續,stop_on_error=True 時丟擲。非同步客戶端中 handle 可以是協程函式。
from deeprespond_im import Decision, DRClient
from deeprespond_im.types import ItemContent, ModerationItem
def review(item: ModerationItem, content: ItemContent) -> Decision | None:
if item.scene != "message":
return None # 跳过,留给人工
return Decision("no_violation", note="自动复审:无违规")
def run_review(client: DRClient) -> None:
decided = client.moderation.process_pending(review, scene="message")
print("处理了", decided, "条")音視訊通話 client.calls
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
list | GET /calls | calls.list | 查詢 | 查詢通話列表 |
iter | 逐頁呼叫 GET /calls | calls.list | 查詢 | 查詢通話列表 |
get | GET /calls/{call_id} | calls.get | 查詢 | 查詢通話詳情 |
end | POST /calls/{call_id}/end | calls.end | 冪等 | 結束通話 |
remove_member | POST /calls/{call_id}/members/{username}/remove | calls.remove_member | 冪等 | 把成員移出通話 |
stats | GET /rtc/stats | calls.stats | 查詢 | 查詢通話統計 |
get_active_call | GET /users/{username}/calls/active | calls.active_of | 查詢 | 查詢使用者正在進行的通話 |
線上狀態 client.presence
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
query | POST /presence/query | presence.query | 查詢 | 批次查詢線上狀態 |
get | GET /users/{username}/presence | presence.get | 查詢 | 查詢使用者的線上狀態 |
獨立 RTC 頻道:client.channels
這個服務只管理頻道,不替使用者加入音影片。引數和響應見頻道 REST API。表中的介面省略了應用字首。
| 方法 | REST 介面 | 引數說明 |
|---|---|---|
create | PUT /rtc/channels/{channel_id} | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
list | GET /rtc/channels | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
get | GET /rtc/channels/{channel_id} | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
update | PATCH /rtc/channels/{channel_id} | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
close | POST /rtc/channels/{channel_id}/close | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
issue_tickets | POST /rtc/channels/{channel_id}/tickets | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
revoke_tickets | POST /rtc/channels/{channel_id}/tickets/revoke | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
sessions | GET /rtc/channels/{channel_id}/sessions | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
remove_member | POST /rtc/channels/{channel_id}/members/{username}/remove | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
bans | GET /rtc/channels/{channel_id}/bans | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
get_ban | GET /rtc/channels/{channel_id}/bans/{username} | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
ban | PUT /rtc/channels/{channel_id}/bans/{username} | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
unban | DELETE /rtc/channels/{channel_id}/bans/{username} | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
stats | GET /rtc/channel-stats | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
usage_adjustments | GET /rtc/channel-usage-adjustments | 路徑引數在前;查詢 / 請求欄位為關鍵字引數 |
結果是頻道、會話、票據、封禁、統計和用量更正各自的型別,並保留原始資料。建立的結果中 created 表示服務端返回的是 201(新建),關閉和移出的結果中 pending 表示返回的是 202(處理中);它們不是響應體中的欄位。最後一頁的 next_cursor、沒有封禁時的 ban、可以清除的到期時間都保留 null。
頻道的列表方法返回一頁資料,用 next_cursor 自己翻頁,沒有通話(calls)那樣的 iter 遍歷方法。expires_at 區分不傳、null(清除)和設值三種狀態。簽發票據不自動重試;移出成員和撤銷票據使用固定的 operation_id。
遊戲房間 client.game
建房、簽發加入票據、開局、結束房間、移出玩家和查詢,用法見呼叫介面。
| 方法 | REST 介面 | 介面名 | 自動重試 | 文件 |
|---|---|---|---|---|
list_regions | GET /game/regions | game.list_regions | 查詢 | 查大區 |
create_room | PUT /game/rooms/{room_id} | game.create_room | 冪等 | 建立房間 |
issue_tickets | POST /game/rooms/{room_id}/tickets | game.issue_tickets | 不重試 | 簽發加入票據 |
start_room | POST /game/rooms/{room_id}/start | game.start_room | 冪等 | 開局 |
close_room | POST /game/rooms/{room_id}/close | game.close_room | 冪等 | 結束房間 |
remove_member | POST /game/rooms/{room_id}/members/{username}/remove | game.remove_member | 冪等鍵 | 移出玩家 |
get_room | GET /game/rooms/{room_id} | game.get_room | 查詢 | 查詢房間 |
list_rooms | GET /game/rooms | game.list_rooms | 查詢 | 列出房間 |
iter_rooms | 逐頁呼叫 GET /game/rooms | game.list_rooms | 查詢 | 列出房間 |
list_members | GET /game/rooms/{room_id}/members | game.list_members | 查詢 | 列出成員 |
結果中的 created、accepted、removed 由狀態碼得出(201、202 為 True),不是響應體中的欄位。remove_member 沒有給 operation_id 時 SDK 自動生成,重試時不變。
AI 對話:client.ai
機器人管理和流式回覆的底層介面。回覆一般用 start_stream 開始,它返回的流物件處理合批、持續寫入和重試,見呼叫介面;stream_stopped 在收到 ai.stream_stopped 時停止本程序中的流(回撥處理器會自動呼叫)。
| 方法 | REST 介面 | 介面名 | 文件 |
|---|---|---|---|
create_bot | POST /ai/bots | ai.create_bot | 建立機器人 |
list_bots / iter_bots | GET /ai/bots | ai.list_bots | 查詢機器人列表 |
get_bot | GET /ai/bots/{username} | ai.get_bot | 查詢機器人 |
update_bot | PATCH /ai/bots/{username} | ai.update_bot | 修改機器人 |
disable_bot | POST /ai/bots/{username}/disable | ai.disable_bot | 停用與啟用 |
enable_bot | POST /ai/bots/{username}/enable | ai.enable_bot | 停用與啟用 |
delete_bot | DELETE /ai/bots/{username} | ai.delete_bot | 刪除機器人 |
create_stream | POST /ai/streams | ai.create_stream | 開始回覆 |
get_stream | GET /ai/streams/{stream_id} | ai.get_stream | 查詢流 |
write_deltas | POST /ai/streams/{stream_id}/deltas:batch | ai.write_deltas | 按批寫入 |
finish_stream | POST /ai/streams/{stream_id}/finish | ai.finish_stream | 結束回覆 |
fail_stream | POST /ai/streams/{stream_id}/fail | ai.fail_stream | 報告失敗 |
