Guides

Scheduled MessagesUSER-ONLY

User Walkthrough 7 of 50

Users 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

getScheduledMessages returns 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

sendScheduledMessage lets you send a scheduled message immediately.

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

To send multiple scheduled messages at once, call sendScheduledMessages.

Deleting a Scheduled Message

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

With deleteScheduledMessages, you can delete multiple scheduled messages at once.