対象のメッセージの上にあるメッセージを取得する
before には文字列のメッセージIDを入れること
対象のメッセージの上にあるメッセージをひとつだけ取得するには、limitオプションを1にする。
limitが1なら.first()、または.last()で取得したMessageのオブジェクトを取り出せます。 limitオプションを使わない場合、デフォルトでは50個のメッセージを取得します。
取得できなかった場合、エラーがcatchに渡されます。
注意
対象のメッセージの上にメッセージが必ず存在するとは言えない。
サンプルコード
送信されたメッセージの上にあるメッセージをひとつだけ取得して、ひとつ上のメッセージを送ったユーザーにメンション付きで「Hey」と送信するサンプル
code:js
client.on('message', async message => {
const beforeMessage = await message.channel.messages.fetch({ before: message.id, limit: 1 })
.then(messages => messages.first())
.catch(console.error)
return beforeMessage.reply('Hey') // 一つ上のメッセージを送信したユーザーにメンション付きで「Hey」と送信
})
関連