mirror of
https://github.com/LLOneBot/LLOneBot.git
synced 2024-11-22 01:56:33 +00:00
Merge branch 'main' into dev
This commit is contained in:
commit
67dfd7c22f
@ -5,7 +5,7 @@ export let groups: Group[] = []
|
||||
export let friends: Friend[] = []
|
||||
export let msgHistory: Record<string, RawMessage> = {} // msgId: RawMessage
|
||||
|
||||
let globalMsgId = Date.now()
|
||||
let globalMsgId = Math.floor(Date.now() / 1000);
|
||||
|
||||
export function addHistoryMsg(msg: RawMessage): boolean{
|
||||
let existMsg = msgHistory[msg.msgId]
|
||||
@ -87,4 +87,4 @@ export function getUidByUin(uin: string) {
|
||||
}
|
||||
}
|
||||
|
||||
export const version = "v3.6.0"
|
||||
export const version = "3.6.0"
|
||||
|
@ -193,4 +193,8 @@ export async function encodeSilk(filePath: string) {
|
||||
log("convert silk failed", error.stack);
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
export function isNull(value: any) {
|
||||
return value === undefined || value === null;
|
||||
}
|
@ -23,7 +23,7 @@ class BaseAction<PayloadType, ReturnDataType> {
|
||||
}
|
||||
}
|
||||
|
||||
public async websocketHandle(payload: PayloadType, echo: string): Promise<OB11Return<ReturnDataType | null>> {
|
||||
public async websocketHandle(payload: PayloadType, echo: any): Promise<OB11Return<ReturnDataType | null>> {
|
||||
const result = await this.check(payload)
|
||||
if (!result.valid) {
|
||||
return OB11Response.error(result.message, 1400)
|
||||
|
@ -1,4 +1,5 @@
|
||||
import {OB11Return} from '../types';
|
||||
import {isNull} from '../../common/utils';
|
||||
|
||||
export class OB11Response {
|
||||
static res<T>(data: T, status: string, retcode: number, message: string = ""): OB11Return<T> {
|
||||
@ -8,21 +9,21 @@ export class OB11Response {
|
||||
data: data,
|
||||
message: message,
|
||||
wording: message,
|
||||
echo: ""
|
||||
echo: null
|
||||
}
|
||||
}
|
||||
|
||||
static ok<T>(data: T, echo: string = "") {
|
||||
static ok<T>(data: T, echo: any = null) {
|
||||
let res = OB11Response.res<T>(data, "ok", 0)
|
||||
if (echo) {
|
||||
if (!isNull(echo)) {
|
||||
res.echo = echo;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
static error(err: string, retcode: number, echo: string = "") {
|
||||
static error(err: string, retcode: number, echo: any = null) {
|
||||
let res = OB11Response.res(null, "failed", retcode, err)
|
||||
if (echo) {
|
||||
if (!isNull(echo)) {
|
||||
res.echo = echo;
|
||||
}
|
||||
return res;
|
||||
|
@ -33,8 +33,8 @@ export class ReverseWebsocket {
|
||||
}
|
||||
|
||||
public async onmessage(msg: string) {
|
||||
let receiveData: { action: ActionName, params: any, echo?: string } = {action: null, params: {}}
|
||||
let echo = ""
|
||||
let receiveData: { action: ActionName, params: any, echo?: any } = {action: null, params: {}}
|
||||
let echo = null
|
||||
try {
|
||||
receiveData = JSON.parse(msg.toString())
|
||||
echo = receiveData.echo
|
||||
|
@ -18,7 +18,7 @@ class OB11WebsocketServer extends WebsocketServerBase {
|
||||
wsClient.send(JSON.stringify(OB11Response.res(null, "failed", 1403, "token验证失败")))
|
||||
}
|
||||
|
||||
async handleAction(wsClient: WebSocket, actionName: string, params: any, echo?: string) {
|
||||
async handleAction(wsClient: WebSocket, actionName: string, params: any, echo?: any) {
|
||||
const action: BaseAction<any, any> = actionMap.get(actionName);
|
||||
if (!action) {
|
||||
return wsReply(wsClient, OB11Response.error("不支持的api " + actionName, 1404, echo))
|
||||
@ -34,8 +34,8 @@ class OB11WebsocketServer extends WebsocketServerBase {
|
||||
onConnect(wsClient: WebSocket, url: string, req: IncomingMessage) {
|
||||
if (url == "/api" || url == "/api/" || url == "/") {
|
||||
wsClient.on("message", async (msg) => {
|
||||
let receiveData: { action: ActionName, params: any, echo?: string } = {action: null, params: {}}
|
||||
let echo = ""
|
||||
let receiveData: { action: ActionName, params: any, echo?: any } = {action: null, params: {}}
|
||||
let echo = null
|
||||
try {
|
||||
receiveData = JSON.parse(msg.toString())
|
||||
echo = receiveData.echo
|
||||
|
@ -1,13 +1,13 @@
|
||||
import * as websocket from "ws";
|
||||
import {OB11Response} from "../../action/utils";
|
||||
import {PostEventType} from "../postevent";
|
||||
import {log} from "../../../common/utils";
|
||||
import {isNull, log} from "../../../common/utils";
|
||||
|
||||
export function wsReply(wsClient: websocket.WebSocket, data: OB11Response | PostEventType) {
|
||||
try {
|
||||
let packet = Object.assign({
|
||||
}, data);
|
||||
if (!packet["echo"]){
|
||||
if (isNull(packet["echo"])){
|
||||
delete packet["echo"];
|
||||
}
|
||||
wsClient.send(JSON.stringify(packet))
|
||||
|
@ -77,7 +77,7 @@ export interface OB11Return<DataType> {
|
||||
retcode: number
|
||||
data: DataType
|
||||
message: string,
|
||||
echo?: string, // ws调用api才有此字段
|
||||
echo?: any, // ws调用api才有此字段
|
||||
wording?: string, // go-cqhttp字段,错误信息
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user