前提・実現したいこと
使用言語;JavaScript
ライブラリ:discord.js
discordのbotでbotが参加している特定サーバー内の特定期間内のメッセージを全取得しようとしています。
fetchMessages関数では
https://discord.js.org/#/docs/main/stable/class/TextChannel?scrollTo=fetchMessages
100件までしか取得できないため、beforeとafterの条件を併せて利用し期間をずらしながら繰り返し取得しようとしています。
発生している問題・エラーメッセージ
beforeの条件を指定するとafterの条件が無効になってしまうようです。
該当のソースコード
Javascript
1client.on('message', message => 2{ 3 if (message.content.match(/^test$/)) { 4 let channel = message.channel; 5 channel.fetchMessages({ limit: 100,before:discord.SnowflakeUtil.generate(new Date( 2019, 5, 2, 0, 0, 0 )),after:discord.SnowflakeUtil.generate(new Date( 2019, 5, 1, 0, 0, 0 ))}) 6 .then(messages => console.log(`Received ${messages.size} messages`)) 7 .catch(console.error); 8}
※まだfetchMessagesのテスト段階のコードなので期間はずらしていません
試したこと
beforeを指定しなければafterの条件は有効になり、指定した日時以降のメッセージが取得できることはわかりました。
beforeとafterの順番を入れ替えてみても、beforeのみ有効で、afterの条件は無効でした。
最初は検索
https://discord.js.org/#/docs/main/stable/class/TextChannel?scrollTo=search
を使おうとしましたがbotアカウントでは使えないようで...。
補足情報(FW/ツールのバージョンなど)
discord.js 11.5.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/23 10:19