English | 简体中文
imbot_sdk.ImBotClient 的完整方法清单。所有 req / resp 类型均为 imbot_sdk.pb
下的 protobuf 消息。返回值约定:
- 仅返回错误码的方法返回
int(ClientErrorCode.*,0 表示成功)
- 返回数据的方法返回
(code, resp),resp 在失败时为 None
from imbot_sdk import ImBotClient, ClientErrorCode, Conversation
from imbot_sdk.pb import appmessages_pb2 as pb # 消息/会话/用户/群/文件
from imbot_sdk.pb import connect_pb2 as cpb # 连接层帧
from imbot_sdk.pb import chatroom_pb2 as chatpb # 聊天室
from imbot_sdk.pb import rtcroom_pb2 as rtcpb # RTC
| 成员 |
说明 |
默认 |
ImBotClient(address, app_key) |
创建客户端 |
— |
client.platform |
平台标识 |
"Bot" |
client.auto_reconnect |
断线自动重连 |
True |
client.user_id |
连接成功后写入 |
"" |
client.disconnect_callback |
func(code, DisconnectMsgBody) |
None |
client.on_message_callback |
func(DownMsg) 原始下行消息 |
None |
client.on_stream_msg_callback |
func(StreamDownMsg) 流式消息 |
None |
| 方法 |
返回 |
connect(token) |
(code, ConnectAckMsgBody) |
reconnect() |
(code, ConnectAckMsgBody) |
disconnect() |
— |
logout() |
— |
ping() |
code |
get_state() |
ConnectState |
add_connection_status_change_listener(l) |
— |
| 方法 |
返回 |
publish(method, target_id, data) |
(code, PublishAckMsgBody) |
query(method, target_id, data) |
(code, QueryAckMsgBody) |
query_confirm(index) |
code |
write_message(data) |
— |
| 方法 |
返回 |
send_message(conversation, up_msg) |
(code, PublishAckMsgBody) |
build_up_msg(content, client_uid="", **kw) |
pb.UpMsg(便捷封装) |
add_message_listener(l) |
— |
sync_msgs(SyncMsgReq) |
(code, DownMsgSet) |
add_msg_exset(MsgExt) |
code |
qry_history_msgs(QryHisMsgsReq) |
(code, DownMsgSet) |
qry_first_unread_msg(QryFirstUnreadMsgReq) |
(code, DownMsg) |
del_his_msgs(DelHisMsgsReq) |
code |
recall_msg(RecallMsgReq) |
(code, QueryAckMsgBody) |
modify_msg(ModifyMsgReq) |
(code, QueryAckMsgBody) |
mark_read_msg(MarkReadReq) |
(code, QueryAckMsgBody) |
qry_his_msgs_by_ids(target_id, QryHisMsgByIdsReq) |
(code, DownMsgSet) |
qry_read_msg_detail(QryReadDetailReq) |
(code, QryReadDetailResp) |
clean_his_msgs(CleanHisMsgReq) |
code |
qry_merged_msgs(msg_id, QryMergedMsgsReq) |
(code, DownMsgSet) |
batch_translate(TransReq) |
(code, TransReq) |
msg_search(SearchMsgsReq) |
(code, SearchMsgsResp) |
msg_global_search(SearchMsgsReq) |
(code, BatchSearchMsgsResp) |
set_top_msg(TopMsgReq) |
code |
del_top_msg(TopMsgReq) |
code |
sub_stream_msg(SubStreamMsgsReq) |
code |
| 方法 |
返回 |
add_conversation_change_listener(l) |
— |
get_conversation(QryConverReq) |
(code, Conversation) |
get_total_unread_count(QryTotalUnreadCountReq) |
(code, QryTotalUnreadCountResp) |
get_conversations(QryConversationsReq) |
(code, QryConversationsResp) |
get_pc_conversations(QryConversationsReq) |
(code, QryConversationsResp) |
get_top_conversations(QryTopConversReq) |
(code, QryConversationsResp) |
clear_unread_count(ClearUnreadReq) |
code |
clear_total_unread_count(QryTotalUnreadCountReq) |
code |
get_mention_msgs(QryMentionMsgsReq) |
(code, QryMentionMsgsResp) |
sync_conversations(QryConversationsReq) |
(code, QryConversationsResp) |
set_mute(UndisturbConversReq) |
code |
set_conversation_top(ConversationsReq) |
code |
delete_conversations(ConversationsReq) |
code |
set_unread(ConversationsReq) |
code |
create_conversation_info(Conversation) |
code |
create_conversation_tag(tag_id, tag_name) |
code |
destroy_conversation_tag(tag_id) |
code |
update_conversation_tag_name(tag_id, tag_name) |
code |
get_conversation_tag_list() |
(code, UserConverTags) |
add_conversations_to_tag(TagConvers) |
code |
remove_conversations_from_tag(TagConvers) |
code |
| 方法 |
返回 |
fetch_user_info(user_id) |
(code, UserInfo) |
fetch_group_info(group_id) |
(code, GroupInfo) |
fetch_friend_info(friend_user_id) |
(code, FriendInfo) |
get_user_status(UserIdsReq) |
(code, UserStatusList) |
subscribe_user_status(SubUsersReq) |
(code, UserStatusList) |
unsubscribe_user_status(SubUsersReq) |
code |
pub_user_status(UpMsg) |
(code, PublishAckMsgBody) |
set_user_undisturb(UserUndisturb) |
code |
get_user_undisturb() |
(code, UserUndisturb) |
| 方法 |
返回 |
join_chatroom(chatroom_id) |
code |
join_chatroom_with_prev_count(chatroom_id, n) |
code |
join_chatroom_with_options(chatroom_id, n, is_auto_create) |
code |
join_chatroom_auto_create(chatroom_id, is_auto_create) |
code |
quit_chatroom(chatroom_id) |
code |
send_chatroom_msg(chatroom_id, up_msg) |
(code, PublishAckMsgBody) |
set_attributes(chatroom_id, dict) |
(code, ChatAttBatchResp) |
remove_attributes(chatroom_id, keys) |
(code, ChatAttBatchResp) |
sync_chatroom_msgs(SyncChatroomReq) |
(code, SyncChatroomMsgResp) |
sync_chatroom_exts(SyncChatroomReq) |
(code, SyncChatroomAttResp) |
add_chat_att(target_id, ChatAttReq) |
(code, ChatAttResp) |
del_chat_att(target_id, ChatAttReq) |
(code, ChatAttResp) |
| 方法 |
返回 |
create_rtc_room(RtcInviteReq) |
(code, RtcRoom) |
destroy_rtc_room(room_id) |
code |
join_rtc_room(RtcInviteReq) |
(code, RtcRoom) |
quit_rtc_room(room_id) |
code |
qry_rtc_room(room_id) |
(code, RtcRoom) |
rtc_room_ping(room_id) |
code |
rtc_invite(RtcInviteReq) |
(code, RtcAuth) |
qry_rtc_member_rooms() |
(code, RtcMemberRooms) |
rtc_hangup(room_id) |
code |
join_rtc_room 在已在房间内时返回 RTC_JOIN_ALREADY_IN_ROOM(16002),此时 resp 仍然有效。
| 方法 |
返回 |
get_file_cred(QryFileCredReq) |
(code, QryFileCredResp) |
继承以下基类并覆写所需回调(默认均为空实现),通过 add_*_listener 注册:
ConnectionStatusChangeListener.on_status_change(status, code)
MessageListener.on_message_receive / on_message_recall / on_message_update / on_message_delete / on_message_clear / on_message_reaction_add / on_message_reaction_remove / on_message_set_top
ConversationChangeListener.on_conversation_info_add / on_conversation_info_update / on_conversation_info_delete / on_total_unread_message_count_update