feat(core): getAllScheduledMessages method
This commit is contained in:
parent
f877e97d34
commit
47e1cde585
3 changed files with 46 additions and 0 deletions
|
@ -130,6 +130,7 @@ import { deleteScheduledMessages } from './methods/messages/delete-scheduled-mes
|
|||
import { editInlineMessage } from './methods/messages/edit-inline-message.js'
|
||||
import { editMessage } from './methods/messages/edit-message.js'
|
||||
import { ForwardMessageOptions, forwardMessages, forwardMessagesById } from './methods/messages/forward-messages.js'
|
||||
import { getAllScheduledMessages } from './methods/messages/get-all-scheduled-messages.js'
|
||||
import { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'
|
||||
import { getDiscussionMessage } from './methods/messages/get-discussion-message.js'
|
||||
import { getHistory, GetHistoryOffset } from './methods/messages/get-history.js'
|
||||
|
@ -3199,6 +3200,14 @@ export interface TelegramClient extends ITelegramClient {
|
|||
messages: Message[]
|
||||
},
|
||||
): Promise<Message[]>
|
||||
/**
|
||||
* Get all scheduled messages in chat
|
||||
*
|
||||
* **Available**: 👤 users only
|
||||
*
|
||||
* @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`
|
||||
*/
|
||||
getAllScheduledMessages(chatId: InputPeerLike): Promise<Message[]>
|
||||
|
||||
/**
|
||||
* Get the message containing the button being clicked
|
||||
|
@ -5802,6 +5811,9 @@ TelegramClient.prototype.forwardMessagesById = function (...args) {
|
|||
TelegramClient.prototype.forwardMessages = function (...args) {
|
||||
return forwardMessages(this._client, ...args)
|
||||
}
|
||||
TelegramClient.prototype.getAllScheduledMessages = function (...args) {
|
||||
return getAllScheduledMessages(this._client, ...args)
|
||||
}
|
||||
TelegramClient.prototype.getCallbackQueryMessage = function (...args) {
|
||||
return getCallbackQueryMessage(this._client, ...args)
|
||||
}
|
||||
|
|
|
@ -128,6 +128,7 @@ export { editMessage } from './methods/messages/edit-message.js'
|
|||
export type { ForwardMessageOptions } from './methods/messages/forward-messages.js'
|
||||
export { forwardMessagesById } from './methods/messages/forward-messages.js'
|
||||
export { forwardMessages } from './methods/messages/forward-messages.js'
|
||||
export { getAllScheduledMessages } from './methods/messages/get-all-scheduled-messages.js'
|
||||
export { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'
|
||||
export { getDiscussionMessage } from './methods/messages/get-discussion-message.js'
|
||||
export type { GetHistoryOffset } from './methods/messages/get-history.js'
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
import Long from 'long'
|
||||
|
||||
import { assertTypeIsNot } from '../../../utils/type-assertions.js'
|
||||
import { ITelegramClient } from '../../client.types.js'
|
||||
import { InputPeerLike, Message, PeersIndex } from '../../types/index.js'
|
||||
import { resolvePeer } from '../users/resolve-peer.js'
|
||||
|
||||
/**
|
||||
* Get all scheduled messages in chat
|
||||
*
|
||||
* @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`
|
||||
*/
|
||||
export async function getAllScheduledMessages(client: ITelegramClient, chatId: InputPeerLike): Promise<Message[]> {
|
||||
const peer = await resolvePeer(client, chatId)
|
||||
|
||||
const res = await client.call({
|
||||
_: 'messages.getScheduledHistory',
|
||||
peer,
|
||||
hash: Long.ZERO,
|
||||
})
|
||||
|
||||
assertTypeIsNot('getScheduledMessages', res, 'messages.messagesNotModified')
|
||||
|
||||
const peers = PeersIndex.from(res)
|
||||
|
||||
const ret = res.messages.map((msg) => {
|
||||
assertTypeIsNot('getScheduledMessages', msg, 'messageEmpty')
|
||||
|
||||
return new Message(msg, peers, true)
|
||||
})
|
||||
|
||||
return ret
|
||||
}
|
Loading…
Reference in a new issue