From bb31dc80b0ca1db250e94a76c79b808be0f45019 Mon Sep 17 00:00:00 2001 From: Alina Sireneva Date: Thu, 23 Nov 2023 22:12:00 +0300 Subject: [PATCH] feat(dispatcher): `CallbackQueryContext#editMessageWith` --- .../dispatcher/src/context/callback-query.ts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/dispatcher/src/context/callback-query.ts b/packages/dispatcher/src/context/callback-query.ts index a17d323c..7c4651a7 100644 --- a/packages/dispatcher/src/context/callback-query.ts +++ b/packages/dispatcher/src/context/callback-query.ts @@ -1,4 +1,11 @@ -import { CallbackQuery, getMarkedPeerId, MtArgumentError, MtMessageNotFoundError, TelegramClient } from '@mtcute/client' +import { + CallbackQuery, + getMarkedPeerId, + Message, + MtArgumentError, + MtMessageNotFoundError, + TelegramClient, +} from '@mtcute/client' import { UpdateContext } from './base.js' @@ -61,4 +68,17 @@ export class CallbackQueryContext extends CallbackQuery implements UpdateContext ...params, }) } + + /** + * Shortcut for getting the message and editing it. + */ + async editMessageWith(handler: (msg: Message) => Promise[0]>) { + const msg = await this.getMessage() + if (!msg) return + + const res = await handler(msg) + if (!res) return + + return this.editMessage(res) + } }