feat: send mface

This commit is contained in:
linyuchen 2024-04-30 19:42:34 +08:00
parent 3a4cdc1e34
commit b00ca24fe3
6 changed files with 18 additions and 16 deletions
src

@ -266,13 +266,14 @@ export class SendMsgElementConstructor {
} }
} }
static mface(emojiPackageId: number, emojiId: string, key: string): SendMarketFaceElement { static mface(emojiPackageId: number, emojiId: string, key: string, faceName: string): SendMarketFaceElement {
return { return {
elementType: ElementType.MFACE, elementType: ElementType.MFACE,
marketFaceElement: { marketFaceElement: {
emojiPackageId, emojiPackageId,
emojiId, emojiId,
key, key,
faceName
}, },
} }
} }

@ -252,7 +252,7 @@ export interface FaceElement {
export interface MarketFaceElement { export interface MarketFaceElement {
emojiPackageId: number emojiPackageId: number
faceName: string faceName?: string
emojiId: string emojiId: string
key: string key: string
} }

@ -14,11 +14,11 @@ import { friends, getFriend, getGroup, getGroupMember, getUidByUin, selfInfo } f
import { import {
OB11MessageCustomMusic, OB11MessageCustomMusic,
OB11MessageData, OB11MessageData,
OB11MessageDataType, OB11MessageDataType, OB11MessageFile,
OB11MessageJson, OB11MessageJson,
OB11MessageMixType, OB11MessageMixType,
OB11MessageMusic, OB11MessageMusic,
OB11MessageNode, OB11MessageNode, OB11MessageVideo,
OB11PostSendMsg, OB11PostSendMsg,
} from '../../types' } from '../../types'
import { NTQQMsgApi, Peer } from '../../../ntqqapi/api/msg' import { NTQQMsgApi, Peer } from '../../../ntqqapi/api/msg'
@ -179,7 +179,7 @@ export async function createSendElements(
break break
case OB11MessageDataType.mface: { case OB11MessageDataType.mface: {
sendElements.push( sendElements.push(
SendMsgElementConstructor.mface(sendMsg.data.emojiPackageId, sendMsg.data.emojiId, sendMsg.data.key), SendMsgElementConstructor.mface(sendMsg.data.emoji_package_id, sendMsg.data.emoji_id, sendMsg.data.key),
) )
} }
case OB11MessageDataType.image: case OB11MessageDataType.image:
@ -187,8 +187,9 @@ export async function createSendElements(
case OB11MessageDataType.video: case OB11MessageDataType.video:
case OB11MessageDataType.voice: case OB11MessageDataType.voice:
{ {
let file = sendMsg.data?.file const data = (sendMsg as OB11MessageFile).data
const payloadFileName = sendMsg.data?.name let file = data.file
const payloadFileName = data?.name
if (file) { if (file) {
const cache = await dbUtil.getFileCache(file) const cache = await dbUtil.getFileCache(file)
if (cache) { if (cache) {

@ -236,7 +236,7 @@ export class OB11Constructor {
} }
} else if (element.marketFaceElement) { } else if (element.marketFaceElement) {
message_data['type'] = OB11MessageDataType.mface message_data['type'] = OB11MessageDataType.mface
message_data['data']['text'] = element.marketFaceElement.faceName message_data['data']['summary'] = element.marketFaceElement.faceName
const md5 = element.marketFaceElement.emojiId const md5 = element.marketFaceElement.emojiId
// 取md5的前两位 // 取md5的前两位
const dir = md5.substring(0, 2) const dir = md5.substring(0, 2)

@ -129,7 +129,7 @@ export interface OB11MessageMFace {
emoji_package_id: number emoji_package_id: number
emoji_id: string emoji_id: string
key: string key: string
text?: string // 仅收 summary?: string // 仅收
} }
} }

@ -9,7 +9,7 @@ import { iconSvg } from './icon'
function aprilFoolsEgg(node: Element) { function aprilFoolsEgg(node: Element) {
let today = new Date() let today = new Date()
if (today.getMonth() === 3 && today.getDate() === 1) { if (today.getDate() === 1) {
console.log('超时空猫猫!!!') console.log('超时空猫猫!!!')
node.querySelector('.name').innerHTML = 'ChronoCat' node.querySelector('.name').innerHTML = 'ChronoCat'
} }
@ -165,12 +165,12 @@ async function onSettingWindowCreated(view: Element) {
}</span>`, }</span>`,
SettingButton('选择ffmpeg', 'config-ffmpeg-select'), SettingButton('选择ffmpeg', 'config-ffmpeg-select'),
), ),
SettingItem( // SettingItem(
'音乐卡片签名地址', // '音乐卡片签名地址',
null, // null,
`<div class="q-input" style="width:210px;"><input class="q-input__inner" data-config-key="musicSignUrl" type="text" value="${config.musicSignUrl}" placeholder="未设置" /></div>`, // `<div class="q-input" style="width:210px;"><input class="q-input__inner" data-config-key="musicSignUrl" type="text" value="${config.musicSignUrl}" placeholder="未设置" /></div>`,
'config-musicSignUrl', // 'config-musicSignUrl',
), // ),
SettingItem('', null, SettingButton('保存', 'config-ob11-save', 'primary')), SettingItem('', null, SettingButton('保存', 'config-ob11-save', 'primary')),
]), ]),
SettingList([ SettingList([