feat: market face

This commit is contained in:
markyfsun 2024-04-27 23:01:47 +08:00
parent fe3ac3060a
commit 2e55924a19
5 changed files with 33 additions and 39 deletions

View File

@ -6,6 +6,7 @@ import {
SendArkElement, SendArkElement,
SendFaceElement, SendFaceElement,
SendFileElement, SendFileElement,
SendMarketFaceElement,
SendPicElement, SendPicElement,
SendPttElement, SendPttElement,
SendReplyElement, SendReplyElement,
@ -260,6 +261,17 @@ export class SendMsgElementConstructor {
} }
} }
static mface(emojiPackageId: number, emojiId: string, key: string):SendMarketFaceElement{
return {
elementType: ElementType.MFACE,
marketFaceElement: {
emojiPackageId,
emojiId,
key
},
}
}
static dice(resultId: number | null): SendFaceElement { static dice(resultId: number | null): SendFaceElement {
// 实际测试并不能控制结果 // 实际测试并不能控制结果

View File

@ -10,6 +10,7 @@ export enum ElementType {
FACE = 6, FACE = 6,
REPLY = 7, REPLY = 7,
ARK = 10, ARK = 10,
MFACE = 11,
} }
export interface SendTextElement { export interface SendTextElement {
@ -91,6 +92,11 @@ export interface SendFaceElement {
faceElement: FaceElement faceElement: FaceElement
} }
export interface SendMarketFaceElement {
elementType: ElementType.MFACE,
marketFaceElement: MarketFaceElement
}
export interface FileElement { export interface FileElement {
"fileMd5"?: "", "fileMd5"?: "",
"fileName": string, "fileName": string,
@ -128,7 +134,7 @@ export interface SendArkElement {
} }
export type SendMessageElement = SendTextElement | SendPttElement | export type SendMessageElement = SendTextElement | SendPttElement |
SendPicElement | SendReplyElement | SendFaceElement | SendFileElement | SendVideoElement | SendArkElement SendPicElement | SendReplyElement | SendFaceElement | SendMarketFaceElement | SendFileElement | SendVideoElement | SendArkElement
export enum AtType { export enum AtType {
notAt = 0, notAt = 0,
@ -238,42 +244,9 @@ export interface FaceElement {
} }
export interface MarketFaceElement { export interface MarketFaceElement {
"itemType": 6, "emojiPackageId": number,
"faceInfo": 1, "emojiId": string,
"emojiPackageId": 203875, "key": string,
"subType": 3,
"mediaType": 0,
"imageWidth": 200,
"imageHeight": 200,
"faceName": string,
"emojiId": "094d53bd1c9ac5d35d04b08e8a6c992c",
"key": "a8b1dd0aebc8d910",
"param": null,
"mobileParam": null,
"sourceType": null,
"startTime": null,
"endTime": null,
"emojiType": 1,
"hasIpProduct": null,
"voiceItemHeightArr": null,
"sourceName": null,
"sourceJumpUrl": null,
"sourceTypeName": null,
"backColor": null,
"volumeColor": null,
"staticFacePath": "E:\\SystemDocuments\\QQ\\721011692\\nt_qq\\nt_data\\Emoji\\marketface\\203875\\094d53bd1c9ac5d35d04b08e8a6c992c_aio.png",
"dynamicFacePath": "E:\\SystemDocuments\\QQ\\721011692\\nt_qq\\nt_data\\Emoji\\marketface\\203875\\094d53bd1c9ac5d35d04b08e8a6c992c",
"supportSize": [
{
"width": 300,
"height": 300
},
{
"width": 200,
"height": 200
}
],
"apngSupportSize": null
} }
export interface VideoElement { export interface VideoElement {
@ -420,6 +393,7 @@ export interface RawMessage {
arkElement: ArkElement; arkElement: ArkElement;
grayTipElement: GrayTipElement; grayTipElement: GrayTipElement;
faceElement: FaceElement; faceElement: FaceElement;
mfaceElement: MarketFaceElement;
videoElement: VideoElement; videoElement: VideoElement;
fileElement: FileElement; fileElement: FileElement;
marketFaceElement: MarketFaceElement; marketFaceElement: MarketFaceElement;

View File

@ -155,7 +155,9 @@ export async function createSendElements(messageData: OB11MessageData[], target:
} }
} }
break; break;
case OB11MessageDataType.mface: {
sendElements.push(SendMsgElementConstructor.mface(sendMsg.data.emojiPackageId, sendMsg.data.emojiId, sendMsg.data.key))
}
case OB11MessageDataType.image: case OB11MessageDataType.image:
case OB11MessageDataType.file: case OB11MessageDataType.file:
case OB11MessageDataType.video: case OB11MessageDataType.video:

View File

@ -224,6 +224,10 @@ export class OB11Constructor {
// const url = `https://p.qpic.cn/CDN_STATIC/0/data/imgcache/htdocs/club/item/parcel/item/${dir}/${md5}/300x300.gif?max_age=31536000` // const url = `https://p.qpic.cn/CDN_STATIC/0/data/imgcache/htdocs/club/item/parcel/item/${dir}/${md5}/300x300.gif?max_age=31536000`
const url = `https://gxh.vip.qq.com/club/item/parcel/item/${dir}/${md5}/raw300.gif`; const url = `https://gxh.vip.qq.com/club/item/parcel/item/${dir}/${md5}/raw300.gif`;
message_data["data"]["url"] = url; message_data["data"]["url"] = url;
message_data["data"]["emoji_id"] = element.marketFaceElement.emojiId
message_data["data"]["emoji_package_id"] = String(element.marketFaceElement.emojiPackageId)
message_data["data"]["key"] = element.marketFaceElement.key
} else if (element.markdownElement) { } else if (element.markdownElement) {
message_data["type"] = OB11MessageDataType.markdown; message_data["type"] = OB11MessageDataType.markdown;
message_data["data"]["data"] = element.markdownElement.content; message_data["data"]["data"] = element.markdownElement.content;

View File

@ -125,7 +125,9 @@ export enum OB11MessageDataType {
export interface OB11MessageMFace{ export interface OB11MessageMFace{
type: OB11MessageDataType.mface, type: OB11MessageDataType.mface,
data: { data: {
text: string emojiPackageId: number,
emojiId: string,
key: string
} }
} }