Чтобы отправить сообщение, а затем удалить его с помощью Discord.js, вы можете использовать следующие методы:
Метод 1: использование тайм-аута
const channel = message.channel;
channel.send('This message will be deleted soon.')
.then(sentMessage => {
setTimeout(() => {
sentMessage.delete();
}, 5000); // Deletes the message after 5 seconds (adjust the time as needed)
})
.catch(console.error);
Метод 2: использование async/await
async function sendMessageAndDelete() {
try {
const channel = message.channel;
const sentMessage = await channel.send('This message will be deleted soon.');
setTimeout(() => {
sentMessage.delete();
}, 5000); // Deletes the message after 5 seconds (adjust the time as needed)
} catch (error) {
console.error(error);
}
}
sendMessageAndDelete();
Метод 3. Использование функции awaitReply (пользовательская функция)
async function awaitReply(message, content, time = 5000) {
const filter = m => m.author.id === message.author.id;
await message.channel.send(content);
try {
const collected = await message.channel.awaitMessages(filter, {
max: 1,
time,
errors: ['time']
});
const reply = collected.first();
await reply.delete();
return reply;
} catch (error) {
console.error(error);
return null;
}
}
async function sendMessageAndDelete() {
try {
const sentMessage = await awaitReply(message, 'This message will be deleted soon.');
setTimeout(() => {
sentMessage.delete();
}, 5000); // Deletes the message after 5 seconds (adjust the time as needed)
} catch (error) {
console.error(error);
}
}
sendMessageAndDelete();
Обратите внимание, что во всех этих методах message
относится к объекту сообщения, полученному в событии message
.