メッセージが送信されるのを待ち受けて処理を実行する
第1引数に収集するかどうか判定するフィルター(必須)、第2引数でオプションを指定できる
使い道として、time: 1000のように待ち時間だけ指定して、メッセージ数をカウントしたり、max: 1のように1個のみにしてメッセージが送信されるまで待つといったことが出来る。もちろん組み合わせることも可能
次に送信されたメッセージをログに出すサンプル
code:js
message.channel.awaitMessages({ filter: () => true, max: 1, time: 10 * 1000 })
// Promiseを解決すると、収集できたメッセージのCollectionを得られる
.then(collected => {
// 何も収集できなかった場合を弾く(collected.sizeは取得できた個数、つまりこれは0のときを弾く)
if (!collected.size) return console.log('メッセージが送信されませんでした(タイムアウト)')
// collected.first()で取得できたメッセージを取得してログに出す
console.log('メッセージ: ' + collected.first().content)
})
サンプル