From f375996b29e1877fed9ea80cc9f66673664a3e15 Mon Sep 17 00:00:00 2001 From: MikuroXina Date: Sat, 3 Sep 2022 22:12:05 +0900 Subject: [PATCH] fix: Add sameMessageFilter --- src/adaptor/proxy/middleware.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/adaptor/proxy/middleware.ts b/src/adaptor/proxy/middleware.ts index d2e29ec2..b783f396 100644 --- a/src/adaptor/proxy/middleware.ts +++ b/src/adaptor/proxy/middleware.ts @@ -3,6 +3,7 @@ import { observableMiddleware, prefixMiddleware } from './middleware/message-convert.js'; + import { botFilter } from './middleware/bot-filter.js'; export type RawMessage = Message | PartialMessage; @@ -32,6 +33,16 @@ const liftTuple = ([t1, t2]) => Promise.all([m(t1), m(t2)]); +const sameMessageFilter: Middleware< + [RawMessage, RawMessage], + [RawMessage, RawMessage] +> = ([before, after]) => { + if (before.id === after.id) { + return Promise.resolve([before, after]); + } + return Promise.reject(new Error('author of edited messages was differ')); +}; + export const middlewareForMessage = () => connectMiddleware(botFilter, observableMiddleware); @@ -39,4 +50,4 @@ export const middlewareForCommand = (prefix: string) => connectMiddleware(botFilter, prefixMiddleware(prefix)); export const middlewareForUpdateMessage = () => - liftTuple(middlewareForMessage()); + connectMiddleware(sameMessageFilter, liftTuple(middlewareForMessage()));