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,
SendFaceElement,
SendFileElement,
SendMarketFaceElement,
SendPicElement,
SendPttElement,
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 {
// 实际测试并不能控制结果

View File

@ -10,6 +10,7 @@ export enum ElementType {
FACE = 6,
REPLY = 7,
ARK = 10,
MFACE = 11,
}
export interface SendTextElement {
@ -91,6 +92,11 @@ export interface SendFaceElement {
faceElement: FaceElement
}
export interface SendMarketFaceElement {
elementType: ElementType.MFACE
marketFaceElement: MarketFaceElement
}
export interface FileElement {
fileMd5?: ''
fileName: string
@ -132,6 +138,7 @@ export type SendMessageElement =
| SendPicElement
| SendReplyElement
| SendFaceElement
| SendMarketFaceElement
| SendFileElement
| SendVideoElement
| SendArkElement
@ -244,42 +251,10 @@ export interface FaceElement {
}
export interface MarketFaceElement {
itemType: 6
faceInfo: 1
emojiPackageId: 203875
subType: 3
mediaType: 0
imageWidth: 200
imageHeight: 200
emojiPackageId: number
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
emojiId: string
key: string
}
export interface VideoElement {

View File

@ -177,7 +177,11 @@ export async function createSendElements(
}
}
break
case OB11MessageDataType.mface: {
sendElements.push(
SendMsgElementConstructor.mface(sendMsg.data.emojiPackageId, sendMsg.data.emojiId, sendMsg.data.key),
)
}
case OB11MessageDataType.image:
case OB11MessageDataType.file:
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://gxh.vip.qq.com/club/item/parcel/item/${dir}/${md5}/raw300.gif`
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) {
message_data['type'] = OB11MessageDataType.markdown
message_data['data']['data'] = element.markdownElement.content

View File

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