Merge branch 'main' of https://github.com/markyfsun/LLOneBot into mface

This commit is contained in:
linyuchen 2024-04-30 19:35:43 +08:00
commit 3a4cdc1e34
5 changed files with 34 additions and 37 deletions

View File

@ -7,6 +7,7 @@ import {
SendArkElement, SendArkElement,
SendFaceElement, SendFaceElement,
SendFileElement, SendFileElement,
SendMarketFaceElement,
SendPicElement, SendPicElement,
SendPttElement, SendPttElement,
SendReplyElement, SendReplyElement,
@ -265,6 +266,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
@ -132,6 +138,7 @@ export type SendMessageElement =
| SendPicElement | SendPicElement
| SendReplyElement | SendReplyElement
| SendFaceElement | SendFaceElement
| SendMarketFaceElement
| SendFileElement | SendFileElement
| SendVideoElement | SendVideoElement
| SendArkElement | SendArkElement
@ -244,42 +251,10 @@ export interface FaceElement {
} }
export interface MarketFaceElement { export interface MarketFaceElement {
itemType: 6 emojiPackageId: number
faceInfo: 1
emojiPackageId: 203875
subType: 3
mediaType: 0
imageWidth: 200
imageHeight: 200
faceName: string faceName: string
emojiId: '094d53bd1c9ac5d35d04b08e8a6c992c' emojiId: string
key: 'a8b1dd0aebc8d910' key: string
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 {

View File

@ -177,7 +177,11 @@ export async function createSendElements(
} }
} }
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

@ -244,6 +244,9 @@ 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

@ -126,7 +126,10 @@ export enum OB11MessageDataType {
export interface OB11MessageMFace { export interface OB11MessageMFace {
type: OB11MessageDataType.mface type: OB11MessageDataType.mface
data: { data: {
text: string emoji_package_id: number
emoji_id: string
key: string
text?: string // 仅收
} }
} }