fix: 提高兼容性

This commit is contained in:
手瓜一十雪 2024-08-20 20:26:49 +08:00
parent fdc1ef7e9a
commit 16769c7838
5 changed files with 19 additions and 1 deletions

View File

@ -79,6 +79,7 @@ import { NapCatOneBot11Adapter } from '@/onebot';
import GetGuildProfile from './guild/GetGuildProfile'; import GetGuildProfile from './guild/GetGuildProfile';
import SetModelShow from './go-cqhttp/SetModelShow'; import SetModelShow from './go-cqhttp/SetModelShow';
import { SetInputStatus } from './extends/SetInputStatus'; import { SetInputStatus } from './extends/SetInputStatus';
import { GetCSRF } from './system/GetCSRF';
export type ActionMap = Map<string, BaseAction<any, any>>; export type ActionMap = Map<string, BaseAction<any, any>>;
@ -167,6 +168,7 @@ export function createActionMap(onebotContext: NapCatOneBot11Adapter, coreContex
new GetGuildProfile(onebotContext, coreContext), new GetGuildProfile(onebotContext, coreContext),
new SetModelShow(onebotContext, coreContext), new SetModelShow(onebotContext, coreContext),
new SetInputStatus(onebotContext, coreContext), new SetInputStatus(onebotContext, coreContext),
new GetCSRF(onebotContext, coreContext),
]; ];
const actionMap = new Map(); const actionMap = new Map();
for (const action of actionHandlers) { for (const action of actionHandlers) {

View File

@ -0,0 +1,12 @@
import BaseAction from '../BaseAction';
import { ActionName } from '../types';
export class GetCSRF extends BaseAction<any, any> {
actionName = ActionName.GetCSRF;
async _handle(payload: any) {
return {
token: "",
};
}
}

View File

@ -107,5 +107,6 @@ export enum ActionName {
FetchEmojiLike = 'fetch_emoji_like', FetchEmojiLike = 'fetch_emoji_like',
GetGuildProfile = "get_guild_service_profile", GetGuildProfile = "get_guild_service_profile",
SetModelShow = "_set_model_show", SetModelShow = "_set_model_show",
SetInputStatus = "set_input_status" SetInputStatus = "set_input_status",
GetCSRF = "get_csrf_token",
} }

View File

@ -71,6 +71,8 @@ export class OB11ActiveWebSocketAdapter implements IOB11NetworkAdapter {
this.connection = new WebSocket(this.url, { this.connection = new WebSocket(this.url, {
maxPayload: 1024 * 1024 * 1024, maxPayload: 1024 * 1024 * 1024,
handshakeTimeout: 2000,
perMessageDeflate: false,
headers: { headers: {
'X-Self-ID': this.coreContext.selfInfo.uin, 'X-Self-ID': this.coreContext.selfInfo.uin,
'Authorization': `Bearer ${this.token}`, 'Authorization': `Bearer ${this.token}`,

View File

@ -151,6 +151,7 @@ export class OB11PassiveWebSocketAdapter implements IOB11NetworkAdapter {
//this.logger.logDebug('收到正向Websocket消息', receiveData); //this.logger.logDebug('收到正向Websocket消息', receiveData);
} catch (e) { } catch (e) {
this.checkStateAndReply<any>(OB11Response.error('json解析失败,请检查数据格式', 1400, echo), wsClient); this.checkStateAndReply<any>(OB11Response.error('json解析失败,请检查数据格式', 1400, echo), wsClient);
return;
} }
receiveData.params = (receiveData?.params) ? receiveData.params : {};//兼容类型验证 receiveData.params = (receiveData?.params) ? receiveData.params : {};//兼容类型验证
const retdata = await this.actions.get(receiveData.action)?.websocketHandle(receiveData.params, echo || ''); const retdata = await this.actions.get(receiveData.action)?.websocketHandle(receiveData.params, echo || '');