feat: market face

This commit is contained in:
linyuchen 2024-03-24 21:32:25 +08:00
parent 468f1710b9
commit e5f4992eb3
5 changed files with 54 additions and 5 deletions

View File

@ -1,10 +1,10 @@
{
"manifest_version": 4,
"type": "extension",
"name": "LLOneBot v3.19.2",
"name": "LLOneBot v3.19.3",
"slug": "LLOneBot",
"description": "使你的NTQQ支持OneBot11协议进行QQ机器人开发, 不支持商店在线更新",
"version": "3.19.2",
"version": "3.19.3",
"icon": "./icon.jpg",
"authors": [
{

View File

@ -284,7 +284,7 @@ registerReceiveHook<{ groupList: Group[], updateType: number }>(ReceiveCmdS.GROU
registerReceiveHook<{groupCode: string, dataSource: number, members: Set<GroupMember>}>(ReceiveCmdS.GROUP_MEMBER_INFO_UPDATE, async (payload) => {
const groupCode = payload.groupCode;
const members = Array.from(payload.members.values());
log("群成员信息变动", groupCode, members)
// log("群成员信息变动", groupCode, members)
for(const member of members) {
const existMember = await getGroupMember(groupCode, member.uin);
if (existMember){

View File

@ -1,4 +1,5 @@
import {GroupMemberRole} from "./group";
import exp from "constants";
export enum ElementType {
TEXT = 1,
@ -209,6 +210,44 @@ export interface FaceElement {
faceType: 1
}
export interface MarketFaceElement {
"itemType": 6,
"faceInfo": 1,
"emojiPackageId": 203875,
"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 {
"filePath": string,
"fileName": string,
@ -321,5 +360,6 @@ export interface RawMessage {
faceElement: FaceElement;
videoElement: VideoElement;
fileElement: FileElement;
marketFaceElement: MarketFaceElement;
}[];
}

View File

@ -203,6 +203,9 @@ export class OB11Constructor {
} else if (element.faceElement) {
message_data["type"] = OB11MessageDataType.face;
message_data["data"]["id"] = element.faceElement.faceIndex.toString();
} else if (element.marketFaceElement) {
message_data["type"] = OB11MessageDataType.mface;
message_data["data"]["text"] = element.marketFaceElement.faceName;
}
if (message_data.type !== "unknown" && message_data.data) {
const cqCode = encodeCQCode(message_data);

View File

@ -108,10 +108,16 @@ export enum OB11MessageDataType {
reply = "reply",
json = "json",
face = "face",
mface = "face", // 商城表情
mface = "mface", // 商城表情
node = "node", // 合并转发消息
}
export interface OB11MessageMFace{
type: OB11MessageDataType.mface,
data: {
text: string
}
}
export interface OB11MessageText {
type: OB11MessageDataType.text,
data: {
@ -199,7 +205,7 @@ export interface OB11MessageJson {
export type OB11MessageData =
OB11MessageText |
OB11MessageFace |
OB11MessageFace | OB11MessageMFace |
OB11MessageAt | OB11MessageReply |
OB11MessageImage | OB11MessageRecord | OB11MessageFile | OB11MessageVideo |
OB11MessageNode | OB11MessageCustomMusic | OB11MessageJson