Scheduled MessagesUSER-ONLY

User clients can schedule messages to be sent later. Set sendAt to a future Unix timestamp in seconds when sending a message.

Scheduling a Message

const sendAt = Math.floor(Date.now() / 1_000) + 60 * 60;

const message = await client.sendMessage(chatId, "The meeting starts now.", {
  sendAt,
});

The same option is available on other sending methods, such as sendPhoto and sendPoll.

Listing Scheduled Messages

Use getScheduledMessages to get all scheduled messages in a chat.

const messages = await client.getScheduledMessages(chatId);

for (const message of messages) {
  console.log(message.id, message.date);
}

Sending a Message Early

Use sendScheduledMessage to send a scheduled message immediately.

await client.sendScheduledMessage(chatId, message.id);

Use sendScheduledMessages to send multiple scheduled messages at once.

Deleting a Scheduled Message

await client.deleteScheduledMessage(chatId, message.id);

Use deleteScheduledMessages to delete multiple scheduled messages at once.