From 4ced7fa3cfefb97c257f8f7c7a9d4edf7ec09d34 Mon Sep 17 00:00:00 2001 From: idranme <96647698+idranme@users.noreply.github.com> Date: Sun, 13 Oct 2024 23:48:22 +0800 Subject: [PATCH] fix --- src/ntqqapi/native/index.ts | 14 ++++++++++---- src/onebot11/action/llonebot/FriendPoke.ts | 2 +- src/onebot11/action/llonebot/GroupPoke.ts | 2 +- src/onebot11/entities.ts | 13 ++++++++----- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/ntqqapi/native/index.ts b/src/ntqqapi/native/index.ts index 66cdacd..500c13f 100644 --- a/src/ntqqapi/native/index.ts +++ b/src/ntqqapi/native/index.ts @@ -1,6 +1,9 @@ import { Context } from 'cordis' import { Dict } from 'cosmokit' import { getBuildVersion } from '@/common/utils/misc' +import { TEMP_DIR } from '@/common/globalVars' +import { copyFile } from 'fs/promises' +import path from 'node:path' import addon from './external/crychic-win32-x64.node?asset' export class Native { @@ -18,11 +21,11 @@ export class Native { checkVersion() { const version = getBuildVersion() - // 27187—27597 - return version >= 27187 && version < 28060 + // 27333—27597 + return version >= 27333 && version < 28060 } - start() { + async start() { if (this.crychic) { return } @@ -33,7 +36,10 @@ export class Native { return } try { - this.crychic = require(addon) + const fileName = path.basename(addon) + const dest = path.join(TEMP_DIR, fileName) + await copyFile(addon, dest) + this.crychic = require(dest) this.crychic!.init() } catch (e) { this.ctx.logger.warn('crychic 加载失败', e) diff --git a/src/onebot11/action/llonebot/FriendPoke.ts b/src/onebot11/action/llonebot/FriendPoke.ts index 6223ddb..80a4ae5 100644 --- a/src/onebot11/action/llonebot/FriendPoke.ts +++ b/src/onebot11/action/llonebot/FriendPoke.ts @@ -17,7 +17,7 @@ export class FriendPoke extends BaseAction { throw new Error('当前系统平台或架构不支持') } if (!this.ctx.app.native.checkVersion()) { - throw new Error(`当前 QQ 版本 ${getBuildVersion()} 不支持,可尝试其他版本 27187—27597`) + throw new Error(`当前 QQ 版本 ${getBuildVersion()} 不支持,可尝试其他版本 27333—27597`) } await this.ctx.app.native.sendFriendPoke(+payload.user_id) return null diff --git a/src/onebot11/action/llonebot/GroupPoke.ts b/src/onebot11/action/llonebot/GroupPoke.ts index 5e2cdb0..89f8787 100644 --- a/src/onebot11/action/llonebot/GroupPoke.ts +++ b/src/onebot11/action/llonebot/GroupPoke.ts @@ -19,7 +19,7 @@ export class GroupPoke extends BaseAction { throw new Error('当前系统平台或架构不支持') } if (!this.ctx.app.native.checkVersion()) { - throw new Error(`当前 QQ 版本 ${getBuildVersion()} 不支持,可尝试其他版本 27187—27597`) + throw new Error(`当前 QQ 版本 ${getBuildVersion()} 不支持,可尝试其他版本 27333—27597`) } await this.ctx.app.native.sendGroupPoke(+payload.group_id, +payload.user_id) return null diff --git a/src/onebot11/entities.ts b/src/onebot11/entities.ts index 09699ea..6b3d9f8 100644 --- a/src/onebot11/entities.ts +++ b/src/onebot11/entities.ts @@ -79,11 +79,14 @@ export namespace OB11Entities { if (msg.chatType === ChatType.Group) { resMsg.sub_type = 'normal' resMsg.group_id = parseInt(msg.peerUin) - const member = await ctx.ntGroupApi.getGroupMember(msg.peerUin, msg.senderUid) - if (member) { - resMsg.sender.role = groupMemberRole(member.role) - resMsg.sender.nickname = member.nick - resMsg.sender.title = member.memberSpecialTitle ?? '' + // 284840486: 合并转发内部 + if (msg.peerUin !== '284840486') { + const member = await ctx.ntGroupApi.getGroupMember(msg.peerUin, msg.senderUid) + if (member) { + resMsg.sender.role = groupMemberRole(member.role) + resMsg.sender.nickname = member.nick + resMsg.sender.title = member.memberSpecialTitle ?? '' + } } } else if (msg.chatType === ChatType.C2C) {