From 29cb7c6713e91e2cbe603725376fc934c821d06c Mon Sep 17 00:00:00 2001 From: DrLee-lihr <812403lihr@sina.com> Date: Thu, 5 May 2022 20:27:34 +0800 Subject: [PATCH] fix(core): #630 simplify code --- packages/core/src/session.ts | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/core/src/session.ts b/packages/core/src/session.ts index c18c02539..6e0809a6e 100644 --- a/packages/core/src/session.ts +++ b/packages/core/src/session.ts @@ -1,6 +1,6 @@ import { Channel, Tables, User } from './database' import { Command } from './command' -import { defineProperty, Logger, makeArray, observe, Promisify, Random, remove, segment } from '@koishijs/utils' +import { defineProperty, Logger, makeArray, observe, Promisify, Random, segment } from '@koishijs/utils' import { Argv } from './parser' import { Middleware, Next } from './context' import { App } from './app' @@ -94,8 +94,8 @@ export class Session parsed?: Parsed - private _hooks: NodeJS.Timeout[] private _promise: Promise + private _queued: NodeJS.Timeout private _queuedMessages: [string, number][] constructor(bot: Bot, session: Partial) { @@ -168,21 +168,19 @@ export class Session { - this._hooks.shift() - this._next() - }, message[1]), - ) + this._queued = setTimeout(() => { + this._queued = undefined + this._next() + }, message[1]) } async sendQueued(content: string, delay?: number) { @@ -192,7 +190,7 @@ export class Session(source: T | ((session: Session) => T)): T {