@openim/protocol
Version:
OpenIM protocol
607 lines (606 loc) • 15.7 kB
TypeScript
import { type BoolValue, type Int32Value, type StringValue } from "../wrapperspb/wrapperspb";
export declare const protobufPackage = "openim.sdkws";
/** /////////////////////////////////base end///////////////////////////////////// */
export declare enum PullOrder {
PullOrderAsc = 0,
PullOrderDesc = 1,
UNRECOGNIZED = -1
}
export interface GroupInfo {
groupID: string;
groupName: string;
notification: string;
introduction: string;
faceURL: string;
ownerUserID: string;
createTime: number;
memberCount: number;
ex: string;
status: number;
creatorUserID: string;
groupType: number;
needVerification: number;
lookMemberInfo: number;
applyMemberFriend: number;
notificationUpdateTime: number;
notificationUserID: string;
displayIsRead: boolean;
}
export interface GroupInfoForSet {
groupID: string;
groupName: string;
notification: string;
introduction: string;
faceURL: string;
ex: StringValue | undefined;
needVerification: Int32Value | undefined;
lookMemberInfo: Int32Value | undefined;
applyMemberFriend: Int32Value | undefined;
displayIsRead: BoolValue | undefined;
}
export interface GroupMemberFullInfo {
groupID: string;
userID: string;
roleLevel: number;
joinTime: number;
nickname: string;
faceURL: string;
/** if >0 */
appMangerLevel: number;
joinSource: number;
operatorUserID: string;
ex: string;
muteEndTime: number;
inviterUserID: string;
}
export interface PublicUserInfo {
userID: string;
nickname: string;
faceURL: string;
ex: string;
}
export interface UserInfo {
userID: string;
nickname: string;
faceURL: string;
ex: string;
createTime: number;
appMangerLevel: number;
globalRecvMsgOpt: number;
}
export interface UserInfoWithEx {
userID: string;
nickname: StringValue | undefined;
faceURL: StringValue | undefined;
ex: StringValue | undefined;
globalRecvMsgOpt: Int32Value | undefined;
}
export interface FriendInfo {
ownerUserID: string;
remark: string;
createTime: number;
friendUser: UserInfo | undefined;
addSource: number;
operatorUserID: string;
ex: string;
isPinned: boolean;
}
export interface BlackInfo {
ownerUserID: string;
createTime: number;
blackUserInfo: PublicUserInfo | undefined;
addSource: number;
operatorUserID: string;
ex: string;
}
export interface GroupRequest {
userInfo: PublicUserInfo | undefined;
groupInfo: GroupInfo | undefined;
handleResult: number;
reqMsg: string;
handleMsg: string;
reqTime: number;
handleUserID: string;
handleTime: number;
ex: string;
joinSource: number;
inviterUserID: string;
}
export interface FriendRequest {
fromUserID: string;
fromNickname: string;
fromFaceURL: string;
toUserID: string;
toNickname: string;
toFaceURL: string;
handleResult: number;
reqMsg: string;
createTime: number;
handlerUserID: string;
handleMsg: string;
handleTime: number;
ex: string;
}
export interface PullMessageBySeqsReq {
userID: string;
seqRanges: SeqRange[];
order: PullOrder;
}
export interface SeqRange {
conversationID: string;
begin: number;
end: number;
num: number;
}
export interface PullMsgs {
Msgs: MsgData[];
isEnd: boolean;
}
export interface PullMessageBySeqsResp {
msgs: {
[key: string]: PullMsgs;
};
notificationMsgs: {
[key: string]: PullMsgs;
};
}
export interface PullMessageBySeqsResp_MsgsEntry {
key: string;
value: PullMsgs | undefined;
}
export interface PullMessageBySeqsResp_NotificationMsgsEntry {
key: string;
value: PullMsgs | undefined;
}
export interface GetMaxSeqReq {
userID: string;
}
export interface GetMaxSeqResp {
maxSeqs: {
[key: string]: number;
};
minSeqs: {
[key: string]: number;
};
}
export interface GetMaxSeqResp_MaxSeqsEntry {
key: string;
value: number;
}
export interface GetMaxSeqResp_MinSeqsEntry {
key: string;
value: number;
}
export interface UserSendMsgResp {
serverMsgID: string;
clientMsgID: string;
sendTime: number;
}
export interface MsgData {
sendID: string;
recvID: string;
groupID: string;
clientMsgID: string;
serverMsgID: string;
senderPlatformID: number;
senderNickname: string;
senderFaceURL: string;
sessionType: number;
msgFrom: number;
contentType: number;
content: Uint8Array;
seq: number;
sendTime: number;
createTime: number;
status: number;
isRead: boolean;
options: {
[key: string]: boolean;
};
offlinePushInfo: OfflinePushInfo | undefined;
atUserIDList: string[];
attachedInfo: string;
ex: string;
keyVersion: number;
dstUserIDs: string[];
}
export interface MsgData_OptionsEntry {
key: string;
value: boolean;
}
export interface PushMessages {
msgs: {
[key: string]: PullMsgs;
};
notificationMsgs: {
[key: string]: PullMsgs;
};
}
export interface PushMessages_MsgsEntry {
key: string;
value: PullMsgs | undefined;
}
export interface PushMessages_NotificationMsgsEntry {
key: string;
value: PullMsgs | undefined;
}
export interface OfflinePushInfo {
title: string;
desc: string;
ex: string;
iOSPushSound: string;
iOSBadgeCount: boolean;
signalInfo: string;
}
export interface ServerConfig {
isEncryption: boolean;
}
export interface TipsComm {
detail: Uint8Array;
defaultTips: string;
jsonDetail: string;
}
/** OnGroupCreated() */
export interface GroupCreatedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
memberList: GroupMemberFullInfo[];
operationTime: number;
groupOwnerUser: GroupMemberFullInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
}
/** OnGroupInfoSet() */
export interface GroupInfoSetTips {
/** who do this */
opUser: GroupMemberFullInfo | undefined;
muteTime: number;
group: GroupInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupInfoSetNameTips {
/** who do this */
opUser: GroupMemberFullInfo | undefined;
group: GroupInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupInfoSetAnnouncementTips {
/** who do this */
opUser: GroupMemberFullInfo | undefined;
group: GroupInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
}
/** OnJoinGroupApplication() */
export interface JoinGroupApplicationTips {
group: GroupInfo | undefined;
applicant: PublicUserInfo | undefined;
reqMsg: string;
}
/**
* OnQuitGroup()
* Actively leave the group
*/
export interface MemberQuitTips {
group: GroupInfo | undefined;
quitUser: GroupMemberFullInfo | undefined;
operationTime: number;
groupMemberVersion: number;
groupMemberVersionID: string;
}
/** OnApplicationGroupAccepted() */
export interface GroupApplicationAcceptedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
handleMsg: string;
/** admin(==1) or applicant(==0) */
receiverAs: number;
}
/** OnApplicationGroupRejected() */
export interface GroupApplicationRejectedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
handleMsg: string;
/** admin(==1) or applicant(==0) */
receiverAs: number;
}
/** OnTransferGroupOwner() */
export interface GroupOwnerTransferredTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
newGroupOwner: GroupMemberFullInfo | undefined;
oldGroupOwner: string;
operationTime: number;
oldGroupOwnerInfo: GroupMemberFullInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
}
/** OnMemberKicked() */
export interface MemberKickedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
kickedUserList: GroupMemberFullInfo[];
operationTime: number;
groupMemberVersion: number;
groupMemberVersionID: string;
}
/** OnMemberInvited() */
export interface MemberInvitedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
invitedUserList: GroupMemberFullInfo[];
operationTime: number;
groupMemberVersion: number;
groupMemberVersionID: string;
inviterUser: GroupMemberFullInfo | undefined;
}
/** Actively join the group */
export interface MemberEnterTips {
group: GroupInfo | undefined;
entrantUser: GroupMemberFullInfo | undefined;
operationTime: number;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupDismissedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
operationTime: number;
}
export interface GroupMemberMutedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
operationTime: number;
mutedUser: GroupMemberFullInfo | undefined;
mutedSeconds: number;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupMemberCancelMutedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
operationTime: number;
mutedUser: GroupMemberFullInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupMutedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
operationTime: number;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupCancelMutedTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
operationTime: number;
groupMemberVersion: number;
groupMemberVersionID: string;
}
export interface GroupMemberInfoSetTips {
group: GroupInfo | undefined;
opUser: GroupMemberFullInfo | undefined;
operationTime: number;
changedUser: GroupMemberFullInfo | undefined;
groupMemberVersion: number;
groupMemberVersionID: string;
groupSortVersion: number;
}
export interface FriendApplication {
addTime: number;
addSource: string;
addWording: string;
}
export interface FromToUserID {
fromUserID: string;
toUserID: string;
}
/** FromUserID apply to add ToUserID */
export interface FriendApplicationTips {
/** from:发起者; to:接收者 */
fromToUserID: FromToUserID | undefined;
}
/** FromUserID accept or reject ToUserID */
export interface FriendApplicationApprovedTips {
/** from:同意者;to:请求发起者 */
fromToUserID: FromToUserID | undefined;
handleMsg: string;
friendVersion: number;
friendVersionID: string;
}
/** FromUserID accept or reject ToUserID */
export interface FriendApplicationRejectedTips {
/** from:拒绝者;to:请求发起者 */
fromToUserID: FromToUserID | undefined;
handleMsg: string;
}
/** FromUserID Added a friend ToUserID */
export interface FriendAddedTips {
friend: FriendInfo | undefined;
operationTime: number;
/** who do this */
opUser: PublicUserInfo | undefined;
friendVersion: number;
friendVersionID: string;
}
/** FromUserID deleted a friend ToUserID */
export interface FriendDeletedTips {
/** from:owner; to:friend */
fromToUserID: FromToUserID | undefined;
friendVersion: number;
friendVersionID: string;
}
export interface BlackAddedTips {
/** from:owner; to:black */
fromToUserID: FromToUserID | undefined;
}
export interface BlackDeletedTips {
/** from:owner; to:black */
fromToUserID: FromToUserID | undefined;
}
export interface FriendInfoChangedTips {
/** from:changed; to:friend */
fromToUserID: FromToUserID | undefined;
friendVersion: number;
friendVersionID: string;
friendSortVersion: number;
}
/** ////////////////////user///////////////////// */
export interface UserInfoUpdatedTips {
userID: string;
}
export interface UserStatusChangeTips {
fromUserID: string;
toUserID: string;
status: number;
platformID: number;
}
export interface UserCommandAddTips {
fromUserID: string;
toUserID: string;
}
export interface UserCommandUpdateTips {
fromUserID: string;
toUserID: string;
}
export interface UserCommandDeleteTips {
fromUserID: string;
toUserID: string;
}
/** ////////////////////conversation///////////////////// */
export interface ConversationUpdateTips {
userID: string;
conversationIDList: string[];
}
export interface ConversationSetPrivateTips {
recvID: string;
sendID: string;
isPrivate: boolean;
conversationID: string;
}
export interface ConversationHasReadTips {
userID: string;
conversationID: string;
hasReadSeq: number;
unreadCountTime: number;
}
export interface NotificationElem {
detail: string;
}
/** //////////////////message/////////////////////// */
export interface seqs {
seqs: number[];
}
export interface DeleteMessageTips {
opUserID: string;
userID: string;
seqs: number[];
}
export interface RevokeMsgTips {
revokerUserID: string;
clientMsgID: string;
revokeTime: number;
sesstionType: number;
seq: number;
conversationID: string;
isAdminRevoke: boolean;
}
export interface MessageRevokedContent {
revokerID: string;
revokerRole: number;
clientMsgID: string;
revokerNickname: string;
revokeTime: number;
sourceMessageSendTime: number;
sourceMessageSendID: string;
sourceMessageSenderNickname: string;
sessionType: number;
seq: number;
ex: string;
}
export interface ClearConversationTips {
userID: string;
conversationIDs: string[];
}
export interface DeleteMsgsTips {
userID: string;
conversationID: string;
seqs: number[];
}
export interface MarkAsReadTips {
markAsReadUserID: string;
conversationID: string;
seqs: number[];
hasReadSeq: number;
}
export interface GroupMsgReadTipsUser {
userID: string;
readTime: number;
}
export interface GroupMsgReadTipsRead {
conversationID: string;
clientMsgID: string;
readNum: number;
unreadNum: number;
users: GroupMsgReadTipsUser[];
}
export interface GroupMsgReadTips {
reads: GroupMsgReadTipsRead[];
}
export interface MsgPinnedTips {
conversationID: string;
userID: string;
seq: number;
time: number;
pinned: boolean;
}
export interface MsgPinnedReadTips {
conversationID: string;
userID: string;
seq: number;
time: number;
}
export interface SetAppBackgroundStatusReq {
userID: string;
isBackground: boolean;
}
export interface SetAppBackgroundStatusResp {
}
export interface ProcessUserCommand {
userID: string;
type: number;
createTime: number;
uuid: string;
value: string;
}
export interface RequestPagination {
pageNumber: number;
showNumber: number;
}
export interface FriendsInfoUpdateTips {
fromToUserID: FromToUserID | undefined;
friendIDs: string[];
friendVersion: number;
friendVersionID: string;
}
export interface SubUserOnlineStatusElem {
userID: string;
onlinePlatformIDs: number[];
}
export interface SubUserOnlineStatusTips {
subscribers: SubUserOnlineStatusElem[];
}
export interface SubUserOnlineStatus {
subscribeUserID: string[];
unsubscribeUserID: string[];
}
export interface StreamMsgTips {
conversationID: string;
clientMsgID: string;
startIndex: number;
packets: string[];
end: boolean;
}