feat(dispatcher): CallbackQueryContext#editMessageWith

This commit is contained in:
alina 🌸 2023-11-23 22:12:00 +03:00
parent 1dcbf277ef
commit bb31dc80b0
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI

View file

@ -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' import { UpdateContext } from './base.js'
@ -61,4 +68,17 @@ export class CallbackQueryContext extends CallbackQuery implements UpdateContext
...params, ...params,
}) })
} }
/**
* Shortcut for getting the message and editing it.
*/
async editMessageWith(handler: (msg: Message) => Promise<Parameters<CallbackQueryContext['editMessage']>[0]>) {
const msg = await this.getMessage()
if (!msg) return
const res = await handler(msg)
if (!res) return
return this.editMessage(res)
}
} }