From 16a2e5e9963a9a7235fcacf45f5a4c3a23e0d998 Mon Sep 17 00:00:00 2001
From: pk5ls20 <pk5ls20@outlook.com>
Date: Sun, 20 Oct 2024 07:28:55 +0800
Subject: [PATCH 1/2] feat: More user-friendly packetServer error message

---
 src/core/packet/highway/session.ts          | 4 ++--
 src/onebot/action/extends/GetUserStatus.ts  | 7 ++-----
 src/onebot/action/packet/GetPacketStatus.ts | 2 +-
 3 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/core/packet/highway/session.ts b/src/core/packet/highway/session.ts
index 946c340a..80b2a5e0 100644
--- a/src/core/packet/highway/session.ts
+++ b/src/core/packet/highway/session.ts
@@ -49,8 +49,8 @@ export class PacketHighwaySession {
 
     private async checkAvailable() {
         if (!this.packetClient.available) {
-            this.logger.logError('[Highway] packetClient not available!');
-            throw new Error('packetClient not available!');
+            this.logger.logError('[Highway] packetServer not available!');
+            throw new Error('packetServer不可用,请检查链接并参照文档 https://napneko.github.io/config/advanced 进行配置');
         }
         if (this.sig.sigSession === null || this.sig.sessionKey === null) {
             this.logger.logWarn('[Highway] sigSession or sessionKey not available!');
diff --git a/src/onebot/action/extends/GetUserStatus.ts b/src/onebot/action/extends/GetUserStatus.ts
index 0f1f3353..5e1b699e 100644
--- a/src/onebot/action/extends/GetUserStatus.ts
+++ b/src/onebot/action/extends/GetUserStatus.ts
@@ -1,6 +1,6 @@
-import BaseAction from '../BaseAction';
 import { ActionName } from '../types';
 import { FromSchema, JSONSchema } from 'json-schema-to-ts';
+import {GetPacketStatusDepends} from "@/onebot/action/packet/GetPacketStatus";
 // no_cache get时传字符串
 const SchemaData = {
     type: 'object',
@@ -12,14 +12,11 @@ const SchemaData = {
 
 type Payload = FromSchema<typeof SchemaData>;
 
-export class GetUserStatus extends BaseAction<Payload, { status: number; ext_status: number; } | undefined> {
+export class GetUserStatus extends GetPacketStatusDepends<Payload, { status: number; ext_status: number; } | undefined> {
     actionName = ActionName.GetUserStatus;
     payloadSchema = SchemaData;
 
     async _handle(payload: Payload) {
-        if (!this.core.apis.PacketApi?.available) {
-            throw new Error('PacketClient is not init');
-        }
         return await this.core.apis.PacketApi.sendStatusPacket(+payload.user_id);
     }
 }
diff --git a/src/onebot/action/packet/GetPacketStatus.ts b/src/onebot/action/packet/GetPacketStatus.ts
index d5f48c89..d6a2e57f 100644
--- a/src/onebot/action/packet/GetPacketStatus.ts
+++ b/src/onebot/action/packet/GetPacketStatus.ts
@@ -9,7 +9,7 @@ export abstract class GetPacketStatusDepends<PT, RT> extends BaseAction<PT, RT>
         if (!this.core.apis.PacketApi.available) {
             return {
                 valid: false,
-                message: "PacketClient is not available!",
+                message: "packetServer不可用,请参照文档 https://napneko.github.io/config/advanced 检查packetServer状态或进行配置!",
             }
         }
         return {

From cbad3ff1de5d2741c8bfe70fe27c054db08f9304 Mon Sep 17 00:00:00 2001
From: pk5ls20 <pk5ls20@outlook.com>
Date: Sun, 20 Oct 2024 07:46:57 +0800
Subject: [PATCH 2/2] feat: More user-friendly packetServer error message x2

---
 src/core/packet/highway/session.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core/packet/highway/session.ts b/src/core/packet/highway/session.ts
index 80b2a5e0..3a16fecc 100644
--- a/src/core/packet/highway/session.ts
+++ b/src/core/packet/highway/session.ts
@@ -50,7 +50,7 @@ export class PacketHighwaySession {
     private async checkAvailable() {
         if (!this.packetClient.available) {
             this.logger.logError('[Highway] packetServer not available!');
-            throw new Error('packetServer不可用,请检查链接并参照文档 https://napneko.github.io/config/advanced 进行配置');
+            throw new Error('packetServer不可用,请参照文档 https://napneko.github.io/config/advanced 检查packetServer状态或进行配置');
         }
         if (this.sig.sigSession === null || this.sig.sessionKey === null) {
             this.logger.logWarn('[Highway] sigSession or sessionKey not available!');