diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index 9836f768..3f4d9159 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -92,6 +92,7 @@ import { getPrimaryInviteLink } from './methods/invite-links/get-primary-invite- import { revokeInviteLink } from './methods/invite-links/revoke-invite-link' import { closePoll } from './methods/messages/close-poll' import { deleteMessages } from './methods/messages/delete-messages' +import { deleteScheduledMessages } from './methods/messages/delete-scheduled-messages' import { editInlineMessage } from './methods/messages/edit-inline-message' import { editMessage } from './methods/messages/edit-message' import { _findMessageInUpdate } from './methods/messages/find-in-update' @@ -1831,6 +1832,16 @@ export interface TelegramClient extends BaseTelegramClient { ids: MaybeArray, revoke?: boolean ): Promise + /** + * Delete scheduled messages. + * + * @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`. + * @param ids Message(s) ID(s) to delete. + */ + deleteScheduledMessages( + chatId: InputPeerLike, + ids: MaybeArray + ): Promise /** * Edit sent inline message text, media and reply markup. * @@ -3465,6 +3476,7 @@ export class TelegramClient extends BaseTelegramClient { revokeInviteLink = revokeInviteLink closePoll = closePoll deleteMessages = deleteMessages + deleteScheduledMessages = deleteScheduledMessages editInlineMessage = editInlineMessage editMessage = editMessage protected _findMessageInUpdate = _findMessageInUpdate diff --git a/packages/client/src/methods/messages/delete-scheduled-messages.ts b/packages/client/src/methods/messages/delete-scheduled-messages.ts new file mode 100644 index 00000000..a9060083 --- /dev/null +++ b/packages/client/src/methods/messages/delete-scheduled-messages.ts @@ -0,0 +1,33 @@ +import { TelegramClient } from '../../client' +import { InputPeerLike } from '../../types' +import { MaybeArray } from '@mtcute/core' +import { + isInputPeerChannel, + normalizeToInputChannel, +} from '../../utils/peer-utils' +import { createDummyUpdate } from '../../utils/updates-utils' + +/** + * Delete scheduled messages. + * + * @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`. + * @param ids Message(s) ID(s) to delete. + * @internal + */ +export async function deleteScheduledMessages( + this: TelegramClient, + chatId: InputPeerLike, + ids: MaybeArray, +): Promise { + if (!Array.isArray(ids)) ids = [ids] + + const peer = await this.resolvePeer(chatId) + + const res = await this.call({ + _: 'messages.deleteScheduledMessages', + peer, + id: ids + }) + + this._handleUpdate(res) +}