From f8890b309ba5cfb00c7d54c781c9d0d809786798 Mon Sep 17 00:00:00 2001 From: linyuchen Date: Thu, 11 Apr 2024 18:57:58 +0800 Subject: [PATCH] fix: face msg faceType --- manifest.json | 4 ++-- src/ntqqapi/constructor.ts | 9 +++++---- src/ntqqapi/types/msg.ts | 6 ++++++ src/onebot11/constructor.ts | 17 ++++++++++++++--- src/version.ts | 2 +- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/manifest.json b/manifest.json index c92c776..b6ea390 100644 --- a/manifest.json +++ b/manifest.json @@ -1,10 +1,10 @@ { "manifest_version": 4, "type": "extension", - "name": "LLOneBot v3.22.0", + "name": "LLOneBot v3.22.1", "slug": "LLOneBot", "description": "使你的NTQQ支持OneBot11协议进行QQ机器人开发, 不支持商店在线更新", - "version": "3.22.0", + "version": "3.22.1", "icon": "./icon.jpg", "authors": [ { diff --git a/src/ntqqapi/constructor.ts b/src/ntqqapi/constructor.ts index afe40cf..1c3e885 100644 --- a/src/ntqqapi/constructor.ts +++ b/src/ntqqapi/constructor.ts @@ -1,6 +1,6 @@ import { AtType, - ElementType, + ElementType, FaceIndex, FaceType, PicType, SendArkElement, @@ -249,12 +249,13 @@ export class SendMsgElementConstructor { } static face(faceId: number): SendFaceElement { + faceId = parseInt(faceId.toString()); return { elementType: ElementType.FACE, elementId: "", faceElement: { faceIndex: faceId, - faceType: FaceType.normal + faceType: faceId < 222 ? FaceType.normal : FaceType.normal2, } } } @@ -268,7 +269,7 @@ export class SendMsgElementConstructor { elementType: ElementType.FACE, elementId: "", faceElement: { - faceIndex: 358, + faceIndex: FaceIndex.dice, faceType: FaceType.dice, "faceText": "[骰子]", "packId": "1", @@ -290,7 +291,7 @@ export class SendMsgElementConstructor { elementType: ElementType.FACE, elementId: "", faceElement: { - "faceIndex": 359, + "faceIndex": FaceIndex.RPS, "faceText": "[包剪锤]", "faceType": 3, "packId": "1", diff --git a/src/ntqqapi/types/msg.ts b/src/ntqqapi/types/msg.ts index 8fe07c2..2bab26d 100644 --- a/src/ntqqapi/types/msg.ts +++ b/src/ntqqapi/types/msg.ts @@ -214,9 +214,15 @@ export interface GrayTipElement { export enum FaceType { normal=1, // 小黄脸 + normal2=2, // 新小黄脸, 从faceIndex 222开始? dice=3 // 骰子 } +export enum FaceIndex { + dice = 358, + RPS = 359 // 石头剪刀布 +} + export interface FaceElement { faceIndex: number, faceType: FaceType, diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index fd2a88d..4416003 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -10,7 +10,7 @@ import { } from "./types"; import { AtType, - ChatType, + ChatType, FaceIndex, GrayTipElementSubType, Group, GroupMember, @@ -227,8 +227,19 @@ export class OB11Constructor { message_data["type"] = OB11MessageDataType.json; message_data["data"]["data"] = element.arkElement.bytesData; } else if (element.faceElement) { - message_data["type"] = OB11MessageDataType.face; - message_data["data"]["id"] = element.faceElement.faceIndex.toString(); + const faceId = element.faceElement.faceIndex; + if (faceId === FaceIndex.dice){ + message_data["type"] = OB11MessageDataType.dice + message_data["data"]["result"] = element.faceElement.resultId; + } + else if (faceId === FaceIndex.RPS){ + message_data["type"] = OB11MessageDataType.RPS + message_data["data"]["result"] = element.faceElement.resultId; + } + else{ + 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; diff --git a/src/version.ts b/src/version.ts index 918423d..cfc57ab 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = "3.22.0" \ No newline at end of file +export const version = "3.22.1" \ No newline at end of file