From bbe666eb733c73796be025ea7a33e90d5a565b95 Mon Sep 17 00:00:00 2001 From: "Wesley F. Young" Date: Sat, 10 Aug 2024 23:54:20 +0800 Subject: [PATCH] update: EmitEventContent = Message + Event --- src/onebot/network/active-http.ts | 4 ++-- src/onebot/network/active-websocket.ts | 4 ++-- src/onebot/network/index.ts | 7 +++++-- src/onebot/network/passive-http.ts | 4 ++-- src/onebot/network/passive-websocket.ts | 4 ++-- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/onebot/network/active-http.ts b/src/onebot/network/active-http.ts index 6ba1a659..36986081 100644 --- a/src/onebot/network/active-http.ts +++ b/src/onebot/network/active-http.ts @@ -1,4 +1,4 @@ -import { IOB11NetworkAdapter } from '@/onebot/network/index'; +import { IOB11NetworkAdapter, OB11EmitEventContent } from '@/onebot/network/index'; import BaseAction from '@/onebot/action/BaseAction'; import { OB11BaseEvent } from '@/onebot/event/OB11BaseEvent'; import { createHmac } from 'crypto'; @@ -33,7 +33,7 @@ export class OB11ActiveHttpAdapter implements IOB11NetworkAdapter { // Passive http adapter does not need to register actions } - onEvent(event: T) { + onEvent(event: T) { const headers: Record = { 'Content-Type': 'application/json', 'x-self-id': this.coreContext.selfInfo.uin, diff --git a/src/onebot/network/active-websocket.ts b/src/onebot/network/active-websocket.ts index fa71e829..e0ad2e9c 100644 --- a/src/onebot/network/active-websocket.ts +++ b/src/onebot/network/active-websocket.ts @@ -1,4 +1,4 @@ -import { IOB11NetworkAdapter } from '@/onebot/network/index'; +import { IOB11NetworkAdapter, OB11EmitEventContent } from '@/onebot/network/index'; import { WebSocket as NodeWebSocket } from 'ws'; import BaseAction from '@/onebot/action/BaseAction'; @@ -28,7 +28,7 @@ export class OB11ActiveWebSocketAdapter implements IOB11NetworkAdapter { this.actionMap.set(action.actionName, action); } - onEvent(event: T) { + onEvent(event: T) { if (this.connection) { // this.connection.send(JSON.stringify(event)); // TODO: wrap the event, and send the wrapped to the server. diff --git a/src/onebot/network/index.ts b/src/onebot/network/index.ts index 3c378613..d056c5c3 100644 --- a/src/onebot/network/index.ts +++ b/src/onebot/network/index.ts @@ -1,10 +1,13 @@ import BaseAction from '@/onebot/action/BaseAction'; import { OB11BaseEvent } from '@/onebot/event/OB11BaseEvent'; +import { OB11Message } from '@/onebot'; + +export type OB11EmitEventContent = OB11BaseEvent | OB11Message; export interface IOB11NetworkAdapter { registerAction, P, R>(action: T): void; - onEvent(event: T): void; + onEvent(event: T): void; open(): void | Promise; @@ -18,7 +21,7 @@ export class OB11NetworkManager { return this.adapters; } - async emitEvent(event: OB11BaseEvent) { + async emitEvent(event: OB11EmitEventContent) { // Mlikiowa V2.0.0 Refactor Todo return Promise.all(this.adapters.map(adapter => adapter.onEvent(event))); } diff --git a/src/onebot/network/passive-http.ts b/src/onebot/network/passive-http.ts index 2938e3ff..feecbfe9 100644 --- a/src/onebot/network/passive-http.ts +++ b/src/onebot/network/passive-http.ts @@ -1,4 +1,4 @@ -import { IOB11NetworkAdapter } from './index'; +import { IOB11NetworkAdapter, OB11EmitEventContent } from './index'; import { OB11BaseEvent } from '@/onebot/event/OB11BaseEvent'; import BaseAction from '@/onebot/action/BaseAction'; import express, { Express, Request, Response } from 'express'; @@ -26,7 +26,7 @@ export class OB11PassiveHttpAdapter implements IOB11NetworkAdapter { //空心跳 } - onEvent(event: T) { + onEvent(event: T) { // 事件处理逻辑可以在这里实现 } diff --git a/src/onebot/network/passive-websocket.ts b/src/onebot/network/passive-websocket.ts index 85ae4ee5..a7dfb5eb 100644 --- a/src/onebot/network/passive-websocket.ts +++ b/src/onebot/network/passive-websocket.ts @@ -1,4 +1,4 @@ -import { IOB11NetworkAdapter } from './index'; +import { IOB11NetworkAdapter, OB11EmitEventContent } from './index'; import { OB11BaseEvent } from '@/onebot/event/OB11BaseEvent'; import BaseAction from '@/onebot/action/BaseAction'; import { WebSocket, WebSocketServer } from 'ws'; @@ -54,7 +54,7 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter { //WS正向心跳 } - onEvent(event: T) { + onEvent(event: T) { this.wsClientsMutex.runExclusive(async () => { this.wsClients.forEach((wsClient) => { // wsClient.send(JSON.stringify(event));