577 lines
13 KiB
Plaintext
577 lines
13 KiB
Plaintext
import { NTGroupMemberRole } from './group';
|
|
import { ActionBarElement, ArkElement, AvRecordElement, CalendarElement, FaceBubbleElement, FaceElement, FileElement, GiphyElement, GrayTipElement, MarketFaceElement, PicElement, PttElement, RecommendedMsgElement, ReplyElement, ShareLocationElement, StructLongMsgElement, TaskTopMsgElement, TextElement, TofuRecordElement, VideoElement, YoloGameResultElement } from './element';
|
|
/**
|
|
* 表示对等方的信息
|
|
*/
|
|
export interface Peer {
|
|
chatType: ChatType;
|
|
peerUid: string;
|
|
guildId?: string;
|
|
}
|
|
/**
|
|
* 表示被踢下线的信息
|
|
*/
|
|
export interface KickedOffLineInfo {
|
|
appId: number;
|
|
instanceId: number;
|
|
sameDevice: boolean;
|
|
tipsDesc: string;
|
|
tipsTitle: string;
|
|
kickedType: number;
|
|
securityKickedType: number;
|
|
}
|
|
/**
|
|
* 获取文件列表的参数
|
|
*/
|
|
export interface GetFileListParam {
|
|
sortType: number;
|
|
fileCount: number;
|
|
startIndex: number;
|
|
sortOrder: number;
|
|
showOnlinedocFolder: number;
|
|
folderId?: string;
|
|
}
|
|
/**
|
|
* 消息元素类型枚举
|
|
*/
|
|
export enum ElementType {
|
|
UNKNOWN = 0,
|
|
TEXT = 1,
|
|
PIC = 2,
|
|
FILE = 3,
|
|
PTT = 4,
|
|
VIDEO = 5,
|
|
FACE = 6,
|
|
REPLY = 7,
|
|
GreyTip = 8,// “小灰条”,包括拍一拍 (Poke)、撤回提示等
|
|
WALLET = 9,
|
|
ARK = 10,
|
|
MFACE = 11,
|
|
LIVEGIFT = 12,
|
|
STRUCTLONGMSG = 13,
|
|
MARKDOWN = 14,
|
|
GIPHY = 15,
|
|
MULTIFORWARD = 16,
|
|
INLINEKEYBOARD = 17,
|
|
INTEXTGIFT = 18,
|
|
CALENDAR = 19,
|
|
YOLOGAMERESULT = 20,
|
|
AVRECORD = 21,
|
|
FEED = 22,
|
|
TOFURECORD = 23,// tofu record?? 在线文件的id是这个
|
|
ACEBUBBLE = 24,
|
|
ACTIVITY = 25,
|
|
TOFU = 26,
|
|
FACEBUBBLE = 27,
|
|
SHARELOCATION = 28,
|
|
TASKTOPMSG = 29,
|
|
ONLINEFOLDER = 30,// 在线文件夹
|
|
RECOMMENDEDMSG = 43,
|
|
ACTIONBAR = 44
|
|
}
|
|
/**
|
|
* 消息类型枚举
|
|
*/
|
|
export enum NTMsgType {
|
|
KMSGTYPEARKSTRUCT = 11,
|
|
KMSGTYPEFACEBUBBLE = 24,
|
|
KMSGTYPEFILE = 3,
|
|
KMSGTYPEGIFT = 14,
|
|
KMSGTYPEGIPHY = 13,
|
|
KMSGTYPEGRAYTIPS = 5,
|
|
KMSGTYPEMIX = 2,
|
|
KMSGTYPEMULTIMSGFORWARD = 8,
|
|
KMSGTYPENULL = 1,
|
|
KMSGTYPEONLINEFILE = 21,
|
|
KMSGTYPEONLINEFOLDER = 27,
|
|
KMSGTYPEPROLOGUE = 29,
|
|
KMSGTYPEPTT = 6,
|
|
KMSGTYPEREPLY = 9,
|
|
KMSGTYPESHARELOCATION = 25,
|
|
KMSGTYPESTRUCT = 4,
|
|
KMSGTYPESTRUCTLONGMSG = 12,
|
|
KMSGTYPETEXTGIFT = 15,
|
|
KMSGTYPEUNKNOWN = 0,
|
|
KMSGTYPEVIDEO = 7,
|
|
KMSGTYPEWALLET = 10
|
|
}
|
|
/**
|
|
* 图片类型枚举
|
|
*/
|
|
export enum PicType {
|
|
NEWPIC_APNG = 2001,
|
|
NEWPIC_BMP = 1005,
|
|
NEWPIC_GIF = 2000,
|
|
NEWPIC_JPEG = 1000,
|
|
NEWPIC_PNG = 1001,
|
|
NEWPIC_PROGERSSIV_JPEG = 1003,
|
|
NEWPIC_SHARPP = 1004,
|
|
NEWPIC_WEBP = 1002
|
|
}
|
|
/**
|
|
* 图片子类型枚举
|
|
*/
|
|
export enum PicSubType {
|
|
KNORMAL = 0,
|
|
KCUSTOM = 1,
|
|
KHOT = 2,
|
|
KDIPPERCHART = 3,
|
|
KSMART = 4,
|
|
KSPACE = 5,
|
|
KUNKNOW = 6,
|
|
KRELATED = 7
|
|
}
|
|
/**
|
|
* 消息AT类型枚举
|
|
*/
|
|
export enum NTMsgAtType {
|
|
ATTYPEALL = 1,
|
|
ATTYPECATEGORY = 512,
|
|
ATTYPECHANNEL = 16,
|
|
ATTYPEME = 4,
|
|
ATTYPEONE = 2,
|
|
ATTYPEONLINE = 64,
|
|
ATTYPEROLE = 8,
|
|
ATTYPESUMMON = 32,
|
|
ATTYPESUMMONONLINE = 128,
|
|
ATTYPESUMMONROLE = 256,
|
|
ATTYPEUNKNOWN = 0
|
|
}
|
|
/**
|
|
* 消息元素接口
|
|
*/
|
|
export interface MessageElement {
|
|
elementType: ElementType;
|
|
elementId: string;
|
|
extBufForUI?: string;
|
|
textElement?: TextElement;
|
|
faceElement?: FaceElement;
|
|
marketFaceElement?: MarketFaceElement;
|
|
replyElement?: ReplyElement;
|
|
picElement?: PicElement;
|
|
pttElement?: PttElement;
|
|
videoElement?: VideoElement;
|
|
grayTipElement?: GrayTipElement;
|
|
arkElement?: ArkElement;
|
|
fileElement?: FileElement;
|
|
liveGiftElement?: null;
|
|
markdownElement?: MarkdownElement;
|
|
structLongMsgElement?: StructLongMsgElement;
|
|
multiForwardMsgElement?: MultiForwardMsgElement;
|
|
giphyElement?: GiphyElement;
|
|
walletElement?: null;
|
|
inlineKeyboardElement?: InlineKeyboardElement;
|
|
textGiftElement?: null;
|
|
calendarElement?: CalendarElement;
|
|
yoloGameResultElement?: YoloGameResultElement;
|
|
avRecordElement?: AvRecordElement;
|
|
structMsgElement?: null;
|
|
faceBubbleElement?: FaceBubbleElement;
|
|
shareLocationElement?: ShareLocationElement;
|
|
tofuRecordElement?: TofuRecordElement;
|
|
taskTopMsgElement?: TaskTopMsgElement;
|
|
recommendedMsgElement?: RecommendedMsgElement;
|
|
actionBarElement?: ActionBarElement;
|
|
}
|
|
/**
|
|
* 消息来源类型枚举
|
|
*/
|
|
export enum MsgSourceType {
|
|
K_DOWN_SOURCETYPE_AIOINNER = 1,
|
|
K_DOWN_SOURCETYPE_BIGSCREEN = 2,
|
|
K_DOWN_SOURCETYPE_HISTORY = 3,
|
|
K_DOWN_SOURCETYPE_UNKNOWN = 0
|
|
}
|
|
/**
|
|
* 聊天类型枚举
|
|
*/
|
|
export enum ChatType {
|
|
KCHATTYPEADELIE = 42,
|
|
KCHATTYPEBUDDYNOTIFY = 5,
|
|
KCHATTYPEC2C = 1,
|
|
KCHATTYPECIRCLE = 113,
|
|
KCHATTYPEDATALINE = 8,
|
|
KCHATTYPEDATALINEMQQ = 134,
|
|
KCHATTYPEDISC = 3,
|
|
KCHATTYPEFAV = 41,
|
|
KCHATTYPEGAMEMESSAGE = 105,
|
|
KCHATTYPEGAMEMESSAGEFOLDER = 116,
|
|
KCHATTYPEGROUP = 2,
|
|
KCHATTYPEGROUPBLESS = 133,
|
|
KCHATTYPEGROUPGUILD = 9,
|
|
KCHATTYPEGROUPHELPER = 7,
|
|
KCHATTYPEGROUPNOTIFY = 6,
|
|
KCHATTYPEGUILD = 4,
|
|
KCHATTYPEGUILDMETA = 16,
|
|
KCHATTYPEMATCHFRIEND = 104,
|
|
KCHATTYPEMATCHFRIENDFOLDER = 109,
|
|
KCHATTYPENEARBY = 106,
|
|
KCHATTYPENEARBYASSISTANT = 107,
|
|
KCHATTYPENEARBYFOLDER = 110,
|
|
KCHATTYPENEARBYHELLOFOLDER = 112,
|
|
KCHATTYPENEARBYINTERACT = 108,
|
|
KCHATTYPEQQNOTIFY = 132,
|
|
KCHATTYPERELATEACCOUNT = 131,
|
|
KCHATTYPESERVICEASSISTANT = 118,
|
|
KCHATTYPESERVICEASSISTANTSUB = 201,
|
|
KCHATTYPESQUAREPUBLIC = 115,
|
|
KCHATTYPESUBSCRIBEFOLDER = 30,
|
|
KCHATTYPETEMPADDRESSBOOK = 111,
|
|
KCHATTYPETEMPBUSSINESSCRM = 102,
|
|
KCHATTYPETEMPC2CFROMGROUP = 100,
|
|
KCHATTYPETEMPC2CFROMUNKNOWN = 99,
|
|
KCHATTYPETEMPFRIENDVERIFY = 101,
|
|
KCHATTYPETEMPNEARBYPRO = 119,
|
|
KCHATTYPETEMPPUBLICACCOUNT = 103,
|
|
KCHATTYPETEMPWPA = 117,
|
|
KCHATTYPEUNKNOWN = 0,
|
|
KCHATTYPEWEIYUN = 40
|
|
}
|
|
/**
|
|
* 灰色提示元素子类型枚举
|
|
*/
|
|
export enum NTGrayTipElementSubTypeV2 {
|
|
GRAYTIP_ELEMENT_SUBTYPE_AIOOP = 15,
|
|
GRAYTIP_ELEMENT_SUBTYPE_BLOCK = 14,
|
|
GRAYTIP_ELEMENT_SUBTYPE_BUDDY = 5,
|
|
GRAYTIP_ELEMENT_SUBTYPE_BUDDYNOTIFY = 9,
|
|
GRAYTIP_ELEMENT_SUBTYPE_EMOJIREPLY = 3,
|
|
GRAYTIP_ELEMENT_SUBTYPE_ESSENCE = 7,
|
|
GRAYTIP_ELEMENT_SUBTYPE_FEED = 6,
|
|
GRAYTIP_ELEMENT_SUBTYPE_FEEDCHANNELMSG = 11,
|
|
GRAYTIP_ELEMENT_SUBTYPE_FILE = 10,
|
|
GRAYTIP_ELEMENT_SUBTYPE_GROUP = 4,
|
|
GRAYTIP_ELEMENT_SUBTYPE_GROUPNOTIFY = 8,
|
|
GRAYTIP_ELEMENT_SUBTYPE_JSON = 17,
|
|
GRAYTIP_ELEMENT_SUBTYPE_LOCALMSG = 13,
|
|
GRAYTIP_ELEMENT_SUBTYPE_PROCLAMATION = 2,
|
|
GRAYTIP_ELEMENT_SUBTYPE_REVOKE = 1,
|
|
GRAYTIP_ELEMENT_SUBTYPE_UNKNOWN = 0,
|
|
GRAYTIP_ELEMENT_SUBTYPE_WALLET = 16,
|
|
GRAYTIP_ELEMENT_SUBTYPE_XMLMSG = 12
|
|
}
|
|
/**
|
|
* Poke 类型枚举
|
|
*/
|
|
export enum PokeType {
|
|
POKE_TYPE_APPROVE = 3,
|
|
POKE_TYPE_GIVING_HEART = 2,
|
|
POKE_TYPE_GREAT_MOVE = 6,
|
|
POKE_TYPE_HEART_BREAK = 4,
|
|
POKE_TYPE_HI_TOGETHER = 5,
|
|
POKE_TYPE_POKE = 1,
|
|
POKE_TYPE_POKE_OLD = 0,
|
|
POKE_TYPE_VAS_POKE = 126
|
|
}
|
|
/**
|
|
* 表情索引枚举
|
|
*/
|
|
export enum FaceIndex {
|
|
DICE = 358,
|
|
RPS = 359
|
|
}
|
|
/**
|
|
* 视频类型枚举
|
|
*/
|
|
export enum NTVideoType {
|
|
VIDEO_FORMAT_AFS = 7,
|
|
VIDEO_FORMAT_AVI = 1,
|
|
VIDEO_FORMAT_MKV = 4,
|
|
VIDEO_FORMAT_MOD = 9,
|
|
VIDEO_FORMAT_MOV = 8,
|
|
VIDEO_FORMAT_MP4 = 2,
|
|
VIDEO_FORMAT_MTS = 11,
|
|
VIDEO_FORMAT_RM = 6,
|
|
VIDEO_FORMAT_RMVB = 5,
|
|
VIDEO_FORMAT_TS = 10,
|
|
VIDEO_FORMAT_WMV = 3
|
|
}
|
|
/**
|
|
* 闪传图标
|
|
*/
|
|
export interface FlashTransferIcon {
|
|
spec: number;
|
|
url: string;
|
|
}
|
|
/**
|
|
* 闪传文件信息
|
|
*/
|
|
export interface FlashTransferInfo {
|
|
filesetId: string;
|
|
name: string;
|
|
fileSize: string;
|
|
thnumbnail: {
|
|
id: string;
|
|
urls: FlashTransferIcon[];
|
|
localCachePath: string;
|
|
};
|
|
}
|
|
/**
|
|
* Markdown元素接口
|
|
*/
|
|
export interface MarkdownElement {
|
|
content: string;
|
|
style?: {};
|
|
processMsg?: string;
|
|
mdSummary?: string;
|
|
mdExtType?: number;
|
|
mdExtInfo?: {
|
|
flashTransferInfo: FlashTransferInfo;
|
|
};
|
|
}
|
|
/**
|
|
* 内联键盘按钮接口
|
|
*/
|
|
export interface InlineKeyboardElementRowButton {
|
|
id: string;
|
|
label: string;
|
|
visitedLabel: string;
|
|
style: 1;
|
|
type: 2;
|
|
clickLimit: 0;
|
|
unsupportTips: string;
|
|
data: string;
|
|
atBotShowChannelList: boolean;
|
|
permissionType: number;
|
|
specifyRoleIds: [];
|
|
specifyTinyids: [];
|
|
isReply: false;
|
|
anchor: 0;
|
|
enter: false;
|
|
subscribeDataTemplateIds: [];
|
|
}
|
|
/**
|
|
* 内联键盘元素接口
|
|
*/
|
|
export interface InlineKeyboardElement {
|
|
rows: [
|
|
{
|
|
buttons: InlineKeyboardElementRowButton[];
|
|
}
|
|
];
|
|
botAppid: string;
|
|
}
|
|
/**
|
|
* Aio操作灰色提示元素接口
|
|
*/
|
|
export interface TipAioOpGrayTipElement {
|
|
operateType: number;
|
|
peerUid: string;
|
|
fromGrpCodeOfTmpChat: string;
|
|
}
|
|
/**
|
|
* 群提示元素类型枚举
|
|
*/
|
|
export enum TipGroupElementType {
|
|
KUNKNOWN = 0,
|
|
KMEMBERADD = 1,
|
|
KDISBANDED = 2,
|
|
KQUITTE = 3,
|
|
KCREATED = 4,
|
|
KGROUPNAMEMODIFIED = 5,
|
|
KBLOCK = 6,
|
|
KUNBLOCK = 7,
|
|
KSHUTUP = 8,
|
|
KBERECYCLED = 9,
|
|
KDISBANDORBERECYCLED = 10
|
|
}
|
|
/**
|
|
* 群加入ShowType
|
|
*/
|
|
export enum MemberAddShowType {
|
|
K_OTHER_ADD = 0,
|
|
K_OTHER_ADD_BY_OTHER_QRCODE = 2,
|
|
K_OTHER_ADD_BY_YOUR_QRCODE = 3,
|
|
K_OTHER_INVITE_OTHER = 5,
|
|
K_OTHER_INVITE_YOU = 6,
|
|
K_YOU_ADD = 1,
|
|
K_YOU_ADD_BY_OTHER_QRCODE = 4,
|
|
K_YOU_ALREADY_MEMBER = 8,
|
|
K_YOU_INVITE_OTHER = 7
|
|
}
|
|
/**
|
|
* 群提示元素成员角色枚举
|
|
*/
|
|
export enum NTGroupGrayElementRole {
|
|
KOTHER = 0,
|
|
KMEMBER = 1,
|
|
KADMIN = 2
|
|
}
|
|
/**
|
|
* 群灰色提示成员接口
|
|
* */
|
|
export interface NTGroupGrayMember {
|
|
serialVersionUID: string;
|
|
uid: string;
|
|
name: string;
|
|
}
|
|
/**
|
|
* 群灰色提示邀请者和被邀请者接口
|
|
*
|
|
* */
|
|
export interface NTGroupGrayInviterAndInvite {
|
|
invited: NTGroupGrayMember;
|
|
inviter: NTGroupGrayMember;
|
|
serialVersionUID: string;
|
|
}
|
|
/**
|
|
* 群提示元素接口
|
|
*/
|
|
export interface TipGroupElement {
|
|
type: TipGroupElementType;
|
|
role: NTGroupGrayElementRole;
|
|
groupName: string;
|
|
memberUid: string;
|
|
memberNick: string;
|
|
memberRemark: string;
|
|
adminUid: string;
|
|
adminNick: string;
|
|
adminRemark: string;
|
|
createGroup: null;
|
|
memberAdd?: {
|
|
showType: MemberAddShowType;
|
|
otherAdd: NTGroupGrayMember;
|
|
otherAddByOtherQRCode: NTGroupGrayInviterAndInvite;
|
|
otherAddByYourQRCode: NTGroupGrayMember;
|
|
youAddByOtherQRCode: NTGroupGrayMember;
|
|
otherInviteOther: NTGroupGrayInviterAndInvite;
|
|
otherInviteYou: NTGroupGrayMember;
|
|
youInviteOther: NTGroupGrayMember;
|
|
};
|
|
shutUp?: {
|
|
curTime: string;
|
|
duration: string;
|
|
admin: {
|
|
uid: string;
|
|
card: string;
|
|
name: string;
|
|
role: NTGroupMemberRole;
|
|
};
|
|
member: {
|
|
uid: string;
|
|
card: string;
|
|
name: string;
|
|
role: NTGroupMemberRole;
|
|
};
|
|
};
|
|
}
|
|
/**
|
|
* 多条转发消息元素接口
|
|
*/
|
|
export interface MultiForwardMsgElement {
|
|
xmlContent: string;
|
|
resId: string;
|
|
fileName: string;
|
|
}
|
|
/**
|
|
* 发送状态类型枚举
|
|
*/
|
|
export enum SendStatusType {
|
|
KSEND_STATUS_FAILED = 0,
|
|
KSEND_STATUS_SENDING = 1,
|
|
KSEND_STATUS_SUCCESS = 2,
|
|
KSEND_STATUS_SUCCESS_NOSEQ = 3
|
|
}
|
|
/**
|
|
* 原始消息接口
|
|
*/
|
|
export interface RawMessage {
|
|
parentMsgPeer: Peer;
|
|
parentMsgIdList: string[];
|
|
id?: number;
|
|
guildId: string;
|
|
msgRandom: string;
|
|
msgId: string;
|
|
msgTime: string;
|
|
msgSeq: string;
|
|
msgType: NTMsgType;
|
|
subMsgType: number;
|
|
senderUid: string;
|
|
senderUin: string;
|
|
peerUid: string;
|
|
peerUin: string;
|
|
remark?: string;
|
|
peerName: string;
|
|
sendNickName: string;
|
|
sendRemarkName: string;
|
|
sendMemberName?: string;
|
|
chatType: ChatType;
|
|
sendStatus?: SendStatusType;
|
|
recallTime: string;
|
|
records: RawMessage[];
|
|
emojiLikesList?: Array<{
|
|
emojiId: string;
|
|
emojiType: string;
|
|
likesCnt: string;
|
|
isClicked: string;
|
|
}>;
|
|
elements: MessageElement[];
|
|
sourceType: MsgSourceType;
|
|
isOnlineMsg: boolean;
|
|
clientSeq?: string;
|
|
}
|
|
/**
|
|
* 查询消息参数接口
|
|
*/
|
|
export interface QueryMsgsParams {
|
|
chatInfo: Peer & {
|
|
privilegeFlag?: number;
|
|
};
|
|
filterMsgType: Array<{
|
|
type: NTMsgType;
|
|
subType: Array<number>;
|
|
}>;
|
|
filterSendersUid: string[];
|
|
filterMsgFromTime: string;
|
|
filterMsgToTime: string;
|
|
pageLimit: number;
|
|
isReverseOrder: boolean;
|
|
isIncludeCurrent: boolean;
|
|
}
|
|
/**
|
|
* 临时聊天信息API接口
|
|
*/
|
|
export interface TmpChatInfoApi {
|
|
errMsg: string;
|
|
result: number;
|
|
tmpChatInfo?: TmpChatInfo;
|
|
}
|
|
/**
|
|
* 临时聊天信息接口
|
|
*/
|
|
export interface TmpChatInfo {
|
|
chatType: number;
|
|
fromNick: string;
|
|
groupCode: string;
|
|
peerUid: string;
|
|
sessionType: number;
|
|
sig: string;
|
|
}
|
|
/**
|
|
* 消息请求类型接口
|
|
*/
|
|
export interface MsgReqType {
|
|
peer: Peer;
|
|
byType: number;
|
|
msgId: string;
|
|
msgSeq: string;
|
|
msgTime: string;
|
|
clientSeq: string;
|
|
cnt: number;
|
|
queryOrder: boolean;
|
|
includeSelf: boolean;
|
|
includeDeleteMsg: boolean;
|
|
extraCnt: number;
|
|
}
|
|
/**
|
|
* 表情类型枚举
|
|
*/
|
|
export enum FaceType {
|
|
Unknown = 0,
|
|
OldFace = 1,// 老表情
|
|
Normal = 2,// 常规表情
|
|
AniSticke = 3,// 动画贴纸
|
|
Lottie = 4,// 新格式表情
|
|
Poke = 5
|
|
}
|