diff --git a/plugins/mock/src/adapter.ts b/plugins/mock/src/adapter.ts index 9fa554da0..a682ec4a7 100644 --- a/plugins/mock/src/adapter.ts +++ b/plugins/mock/src/adapter.ts @@ -1,5 +1,5 @@ -import { Adapter, Bot, Channel, Context, Fragment, Universal, User } from 'koishi' -import { MessageClient, MockMessenger } from './client' +import { Adapter, Bot, Channel, Context, Universal, User } from 'koishi' +import { MessageClient, MockMessageEncoder } from './client' import { Webhook } from './webhook' declare module 'koishi' { @@ -21,6 +21,8 @@ export namespace MockBot { } export class MockBot extends Bot { + static MessageEncoder = MockMessageEncoder + constructor(ctx: C, config: MockBot.Config) { super(ctx, config) this.platform = 'mock' @@ -51,11 +53,6 @@ export class MockBot extends Bot { user: { id: this.selfId }, } } - - async sendMessage(channelId: string, fragment: Fragment, guildId?: string, options?: Universal.SendOptions) { - const messages = await new MockMessenger(options!.session['client'], options).send(fragment) - return messages.map(messages => messages.id) - } } export class MockAdapter extends Adapter> { diff --git a/plugins/mock/src/client.ts b/plugins/mock/src/client.ts index f7212df03..d064e4f62 100644 --- a/plugins/mock/src/client.ts +++ b/plugins/mock/src/client.ts @@ -9,17 +9,13 @@ const RECEIVED_OTHERWISE = 'expected "%s" to be replied with %s but received "%s const RECEIVED_NTH_NOTHING = 'expected "%s" to be replied at index %s but received nothing' const RECEIVED_NTH_OTHERWISE = 'expected "%s" to be replied with %s at index %s but received "%s"' -export class MockMessenger extends MessageEncoder { +export class MockMessageEncoder extends MessageEncoder { private buffer = '' - constructor(private client: MessageClient, options?: Universal.SendOptions) { - super(client.bot, client.event.channel.id, client.event.guild?.id, options) - } - async flush() { this.buffer = this.buffer.trim() if (!this.buffer) return - this.client.flush(this.buffer) + this.options.session?.['client']?.flush(this.buffer) this.buffer = '' }