リアクションを付けて消せるメッセージを送信するサンプル
!deletableを実行すると、5秒間で❌を付けると消えるメッセージを送信する
code:js
client.on('messageCreate', async message => {
if (message.content === '!deletable') {
const sent = await message.channel.send('hello')
// クリックするだけでリアクションできるように自身でリアクションをしておく
const reaction = await sent.react('❌')
// ユーザーの❌のみに反応するためのフィルターを定義しておく
const filter = (reaction, user) => reaction.emoji.name === '❌' && !user.bot
// リアクションを待ち受けて処理を実行する
sent.awaitReactions({ filter, max: 1, time: 5000, errors: 'time' }) .then(() => sent.delete()) // リアクションされたら送信したメッセージを削除する
.catch(() => reaction.remove()) // リアクションされなかったら自身で付けたリアクションを消す(必須ではない)
}
})
関連