Skip to content

Latest commit

 

History

History
170 lines (144 loc) · 7.03 KB

File metadata and controls

170 lines (144 loc) · 7.03 KB

API Reference

English | 简体中文

The full method list of imbot_sdk.ImBotClient. All req / resp types are protobuf messages under imbot_sdk.pb. Return-value conventions:

  • Methods that return only an error code return an int (ClientErrorCode.*, 0 means success).
  • Methods that return data return (code, resp), where resp is None on failure.
from imbot_sdk import ImBotClient, ClientErrorCode, Conversation
from imbot_sdk.pb import appmessages_pb2 as pb       # messages / conversations / users / groups / files
from imbot_sdk.pb import connect_pb2 as cpb          # connection-layer frames
from imbot_sdk.pb import chatroom_pb2 as chatpb      # chatroom
from imbot_sdk.pb import rtcroom_pb2 as rtcpb        # RTC

Construction & attributes

Member Description Default
ImBotClient(address, app_key) Create a client
client.platform Platform identifier "Bot"
client.auto_reconnect Auto-reconnect on disconnect True
client.user_id Set after a successful connect ""
client.disconnect_callback func(code, DisconnectMsgBody) None
client.on_message_callback func(DownMsg) raw downstream message None
client.on_stream_msg_callback func(StreamDownMsg) stream message None

Connection & state

Method Returns
connect(token) (code, ConnectAckMsgBody)
reconnect() (code, ConnectAckMsgBody)
disconnect()
logout()
ping() code
get_state() ConnectState
add_connection_status_change_listener(l)

Low-level send/receive

Method Returns
publish(method, target_id, data) (code, PublishAckMsgBody)
query(method, target_id, data) (code, QueryAckMsgBody)
query_confirm(index) code
write_message(data)

Messages

Method Returns
send_message(conversation, up_msg) (code, PublishAckMsgBody)
build_up_msg(content, client_uid="", **kw) pb.UpMsg (convenience wrapper)
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

Conversations

Method Returns
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

Users / friends / status

Method Returns
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)

Chatroom

Method Returns
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)

RTC

Method Returns
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 returns RTC_JOIN_ALREADY_IN_ROOM (16002) when already in the room; resp is still valid in that case.

File

Method Returns
get_file_cred(QryFileCredReq) (code, QryFileCredResp)

Listeners

Subclass these base classes and override the callbacks you need (all default to no-ops), then register via 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